He estado buscando por un tiempo pero no puedo encontrar una solución fácil para mi problema. Me gustaría duplicar un registro en una tabla, pero, por supuesto, la clave primaria única debe actualizarse.Duplicar/Copiar registros en la misma tabla MySQL
que tienen esta consulta:
INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)
El problema es que esto sólo cambia el ID
de la fila en lugar de copiar la fila. Sabe alguien cómo arreglar esto ?
// edit: Me gustaría hacer esto sin escribir todos los nombres de campo porque los nombres de campo pueden cambiar con el tiempo.
Me gusta, un paso en el medio para estar al tanto de las cosas – SeanDowney
Si está copiando un solo registro, puede colocar la información tanto en la actualización como en la inserción. Luego, puede presionar dos veces en la consola mysql, lo que daría lugar a la penúltima operación en la historia, cambiar la identificación en la actualización que es conveniente al final, presionar enter, presionar hacia arriba, presionar enter nuevamente sin cambiar nada, luego repetir el procedimiento para copias múltiples. Mucho mas rápido. –
muy útil gracias! – Elankeeran