Ciao, esiste una query che dice a mysql di prendere una riga con id dato e di inserirla come nuova riga?
Eventualmente anche selezionare solo alcuni dei campi della tabella.
Mi serve per duplicare delle righe.
Ciao, esiste una query che dice a mysql di prendere una riga con id dato e di inserirla come nuova riga?
Eventualmente anche selezionare solo alcuni dei campi della tabella.
Mi serve per duplicare delle righe.
Ciao!
prima deve leggere i dati per riscriverli per cui devi fare un select e poi un insert
Felicità e Prosperità a tutti
si, lo so, ma mi chiedevo se si potesse fare qualcosa tipo:
INSERT INTO tabella VALUES (SELECT * FROM tabella WHERE id = 'ID')
Ovviamente questa è un esempio, lo so che non funziona...
Insomma io dovrei duplicare una riga del database.
Ciao!
Trovato!
Per duplicare totalmente il contenuto di una tabella su se stessa basta usare:
INSERT INTO MYTABLE SELECT * FROM MYTABLE
È possibile anche utilizzare la clausa di WHERE se necessario:
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:
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:
INSERT INTO MYTABLE (field1, field2, ...) SELECT (field1+1), field2, ... FROM MYTABLE
http://www.undolog.com/2009/01/07/ve...ighe-in-mysql/
Ciao!
e io che ho detto?
![]()
Felicità e Prosperità a tutti