JeuWeb - Crée ton jeu par navigateur
Copier une ligne - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Copier une ligne (/showthread.php?tid=1760)



Copier une ligne - Joojo - 15-09-2007

Bonjour à tous, voilà j'ai une table avec une dizaine de colonne. Dans cette table j'ai 1 enregistrement. Et cet enregistrement j'aimerai le copier pour créer un deuxième enregistrement identique dans la table. Car ça m'embête de tout réécrire.

On peut faire cela?

Merci.


RE: Copier une ligne - Bob le Pointu - 15-09-2007

On peut faire cela.

Il faut tout d'abord n'avoir ni clef primaire, ni clef unique.

Ensuite, à l'aide d'un script ou d'un frontal (phpMyAdmin), c'est possible.


RE: Copier une ligne - HammHetfield - 15-09-2007

Et c'est meme très simple : il suffit de recopier le code qui ajoute la ligne... tout simplement!


RE: Copier une ligne - gottferdom - 15-09-2007

J'ai peut-etre pas saisi toute l'utilité du truc mais si c'est juste pour recopier UNE ligne, ça ira bien plus vite de te retaper un enregistrement à la main, que de faire un script pour faire une copie.
Sinon si tu veux la copier X fois, tu te fais un script avec une boucle incrementée qui te recopie la ligne autant de fois que tu veux


RE: Copier une ligne - Byleth - 15-09-2007

Oui, suffit de la refaire une fois, PHPmyadmin va te cracher le SQL, y'a plus qu'à le ressortir dans une boucle de l'un de tes scripts.


RE: Copier une ligne - Mysterarts - 15-09-2007

Le problème, là, c'est qu'on sait pas bien ce qu'il veut faire là ^^
Faudrait être plus explicite !

Mysterarts


RE: Copier une ligne - naholyr - 15-09-2007

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 Wink

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).


RE: Copier une ligne - Amrac - 16-09-2007

Très intéressante comme technique Naholyr Smile