Very short trick: duplicare o clonare una o più righe in MySQL

Per duplicare totalmente il contenuto di una tabella su se stessa basta usare:

1
INSERT INTO MYTABLE SELECT * FROM MYTABLE

È possibile anche utilizzare la clausa di WHERE se necessario:

1
INSERT INTO MYTABLE SELECT * FROM MYTABLE WHERE a=b

Nel caso la tabella possiede qualche indice o chiave univoca, che provocherebbe un errore, è possibile filtrare i campi da duplicare:

1
INSERT INTO MYTABLE (field1, field2, ...) SELECT field1, field2, ... FROM MYTABLE

Addirittura è possibile duplicare un record e modificare un valore, ad esempio duplico un campo e gli aggiungo 1:

1
INSERT INTO MYTABLE (field1, field2, ...) SELECT (field1+1), field2, ... FROM MYTABLE

Non ci sono commenti per questo Post

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<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