Il y a une syntaxe très simple pour insérer des données provenant d'un SELECT :
INSERT INTO maTable1 SELECT mesChamps FROM maTable2 WHERE condition
Le résultat tu select doit bien sur avoir les champs dans le bon ordre
Imaginons une table "(id, username, password)" et tu voudrais dupliquer tous les utilisateurs en rajoutant "_bis" à la fin du username : INSERT INTO users SELECT NULL AS id, CONCAT(username, "_bis") AS username_bis, password FROM users la valeur NULL attribuée à l'id indiquant qu'on va laisser faire l'auto-increment (on aurait ajouter 'WHERE id=XXX' si on n'avait voulu que ça ne touche qu'un utilisateur particulier).
INSERT INTO maTable1 SELECT mesChamps FROM maTable2 WHERE condition
Le résultat tu select doit bien sur avoir les champs dans le bon ordre
Imaginons une table "(id, username, password)" et tu voudrais dupliquer tous les utilisateurs en rajoutant "_bis" à la fin du username : INSERT INTO users SELECT NULL AS id, CONCAT(username, "_bis") AS username_bis, password FROM users la valeur NULL attribuée à l'id indiquant qu'on va laisser faire l'auto-increment (on aurait ajouter 'WHERE id=XXX' si on n'avait voulu que ça ne touche qu'un utilisateur particulier).
Ressources [PHP][MySQL][prototype.js]