Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment copier une ligne et l'insérer dans la même table avec un champ d'auto-incrémentation dans MySQL ?

Utilisez INSERT ... SELECT :

insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

c1, c2, ... sont toutes les colonnes sauf id . Si vous souhaitez insérer explicitement avec un id de 2, puis incluez-le dans votre liste de colonnes INSERT et votre SELECT :

insert into your_table (id, c1, c2, ...)
select 2, c1, c2, ...
from your_table
where id = 1

Vous devrez vous occuper d'un éventuel id en double de 2 dans le second cas bien sûr.