sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo copiar una fila e insertarla en la misma tabla con un campo de incremento automático en MySQL?

Usa INSERT ... SELECT :

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

donde c1, c2, ... son todas las columnas excepto id . Si desea insertar explícitamente con un id de 2, luego inclúyalo en su lista de columnas INSERT y su SELECCIONE:

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

Tendrás que encargarte de un posible id duplicado de 2 en el segundo caso por supuesto.