Tạo bảng (Staging ) với rất nhiều cột. Để trống (NULL ) cột cho parent_id và id cho trẻ em.
Hy vọng rằng các dòng 'ngắn' sẽ đặt giá trị rỗng trong các cột con bị thiếu trong LOAD DATA .
INSERT .. SELECT .. để lấy parent và parent_detail vào Parents bàn. Kéo lại ids từ Parents vào Staging.parent_id . Chi tiết về hai SQL cho những điều này có trong https://mysql.rjweb.org /doc.php/staging_table#normalization
Bây giờ, hãy làm điều gì đó tương tự cho từng tập hợp cột "con" có thể có:child1 và child1_detail (có thể là cặp NULL) và NULL child1_id hiện tại . Ditto cho child2 *, v.v. Lưu ý rằng khi điền Children bảng, bạn đã có parent_id có sẵn.
Đây là cách thực hiện nhiệm vụ trên toàn SQL. Nó chỉ hơi lộn xộn hơn một chút so với viết Perl / PHP / Java / VB / bất kỳ mã nào để thực hiện tác vụ.