Buat tabel (Staging
) dengan banyak kolom. Kosongkan (NULL
) kolom untuk parent_id
dan ID untuk anak-anak.
Semoga baris 'pendek' akan menempatkan nol di kolom anak yang hilang selama LOAD DATA
.
INSERT .. SELECT ..
untuk mendapatkan parent
dan parent_detail
ke dalam Parents
meja. Tarik kembali ids
dari Parents
ke Staging.parent_id
. Detail tentang dua SQL untuk ini ada di http://mysql.rjweb.org /doc.php/staging_table#normalization
Sekarang lakukan hal serupa untuk setiap kumpulan kolom "anak" yang mungkin:child1
dan child1_detail
(mungkin pasangan NULL) dan saat ini NULL child1_id
. Ditto untuk child2*, dll. Perhatikan bahwa saat mengisi Children
tabel, Anda sudah memiliki parent_id
tersedia.
Ini adalah cara all-SQL untuk melakukan tugas. Ini hanya sedikit kurang berantakan daripada menulis Perl/PHP/Java/VB/kode apa pun untuk melakukan tugas tersebut.