Truco muy corto: duplicar o clonar una o más filas en MySQL

Para duplicar el contenido de una mesa llena de sí misma, sólo tiene que utilizar:

1
* FROM MYTABLE INSERT INTO SELECT * FROM mitabla MyTable

También puede utilizar la Claus WHERE si es necesario:

1
* FROM MYTABLE WHERE a = b INSERT INTO SELECT * FROM MyTable DONDE MYTABLE a, b =

Si la tabla tiene un índice o una clave única, que podría causar un error, es posible filtrar los campos que se duplica:

1
field1 , field2 , ... ) SELECT field1 , field2 , ... FROM MYTABLE INSERT INTO mitabla (campo1, campo2, ...) SELECT campo1, campo2, ... FROM MiTabla

Incluso se puede duplicar un registro y cambiar un valor, como el campo dos y añadir 1:

1
field1 , field2 , ... ) SELECT ( field1 + 1 ) , field2 , ... FROM MYTABLE INSERT INTO mitabla (campo1, campo2, ...) SELECT (campo1 + 1), campo2, ... FROM MiTabla

No hay comentarios para esta entrada

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL