Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como copiar uma linha e inserir na mesma tabela com um campo de incremento automático no MySQL?


Use INSERT ... SELECT :
insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

onde c1, c2, ... são todas as colunas, exceto id . Se você deseja inserir explicitamente com um id de 2, em seguida, inclua isso em sua lista de colunas INSERT e seu SELECT:
insert into your_table (id, c1, c2, ...)
select 2, c1, c2, ...
from your_table
where id = 1

Você terá que cuidar de um possível id duplicado de 2 no segundo caso, é claro.