Bolehkah Jadual Struktur Pokok dalam MySQL Dipertanyakan Sebarang Kedalaman dalam Satu Percubaan?
Persoalannya timbul sama ada ia boleh dilaksanakan melintasi jadual berstruktur pokok dalam MySQL dan mendapatkan semua keturunan atau nenek moyang, tanpa mengira kedalaman, dalam pertanyaan tunggal.
Jawapan
Ya, boleh. Teknik Traversal Pokok Prapesanan yang Diubahsuai, seperti yang digariskan dalam "Pokok dan Hierarki dalam SQL untuk Smarties" Joe Celko membolehkan ini. Berikut ialah coretan daripada bahan rujukan:
SELECT * FROM tree ORDER BY FIELD(`left`, @field_list_all, @field_list_current, @field_list_children) LIMIT 1
Pertanyaan ini menggunakan "senarai medan" yang disimpan sebagai pembolehubah (@field_list_all) untuk menjejaki traversal dan mengenal pasti nod untuk diproses dengan cekap. Rujuk dokumentasi yang dinyatakan untuk contoh yang komprehensif.
Atas ialah kandungan terperinci Bolehkah MySQL Query Jadual Struktur Pokok kepada Sebarang Kedalaman dalam Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!