Esiste un modo semplice per copiare i record padre e tutti i record figlio correlati utilizzando rigorosamente SQL senza utilizzare cursori o script/codice esterni? Ecco un esempio di quello che ho:Copia genitore MySQL e tutti i record figlio correlati nel database in un nuovo ID
categories
==
category_id
category_name
parent_table
==
parent_record_id
category_id
... <other fields>
child_table1
==
child_table1_id
parent_record_id
... <other fields>
child_table2
==
child_table2_id
parent_record_id
... <other fields>
Fondamentalmente, ho bisogno di fare un esatto duplicato di tutti questi dati. Gli unici campi che cambieranno sono gli ID poiché sono tutti autoincrementi. In base allo schema precedente, quando copio i record nella tabella delle categorie, finirò con tutti i nuovi valori category_id. Quando creo i duplicati dei record parent_table ho bisogno di un modo per aggiornare in qualche modo i vecchi valori category_id con i nuovi valori category_id appena creati. Dovrò quindi utilizzare i nuovi valori parent_record_id quando copi i record child_record1 e child_record2.
Mi sento come se ci fosse un modo più semplice per farlo, piuttosto che scriverlo esternamente in PHP o in un'altra lingua. È lì?
Grazie Bryan. Sono consapevole di questa sintassi. Ciò non risolve il problema che ho con la copia di altri record correlati e la traccia di/aggiornamento di tutti i nuovi ID. – ShawnCBerg