Bonjour,
C'est peut-être tard mais, comme je cherchais à peu près la même chose, et qu'une réponse peut toujours servir à d'autres :
Envoyé par
bogoss91
J'ai une table contenant les champs suivants : (id, col1, col2,...)
J'ai une ligne de cette table, par exemple (3, 'TEST', 'COUCOU',...)
Et je veux dupliquer cette ligne en changeant 'TEST' par 'SALUT, mais le soucis c'est que id est une clé primaire, et elle n'a pas la propriété de s'autoincrémenter à chaque insertion.
Du coup, si je fais un truc bête, il recopie aussi l'id du champ initial, et il me renvoie une erreur comme quoi le champ id doit être unique.
Ma question est donc de savoir s'il y a un truc plus simple que de faire une procédure qui va voir quel est l'id maximal présent dans la table puis d'insérer (idmax +1, 'SALUT', 'COUCOU',...).
INSERT INTO la_table SELECT (SELECT MAX(id) + 1 FROM la_table), "SALUT", col2 FROM la_table WHERE id=3;
Testé et approuvé.
Et voilà (J'ai trouvé le truc tout seul comme un grand )
Partager