Mendapatkan semula Subdirektori dalam Satu Pertanyaan dengan MySQL Recursion
Pertimbangkan jadual yang menyerupai struktur direktori:
folders_table ----------------------- - INT id_folder - INT id_folder_parent - VARCHAR folder_name
Cabarannya terletak pada mendapatkan semula semua subdirektori direktori tertentu menggunakan satu SELECT pertanyaan.
Penyelesaian:
Struktur pangkalan data tradisional tidak dapat menyokong pertanyaan ini dengan cekap. Untuk membolehkannya, struktur pangkalan data mesti diubah suai. Khususnya, perhubungan rujukan kendiri diperkenalkan untuk mewakili hierarki.
Arahan Langkah demi Langkah:
Setelah pengubahsuaian selesai, pertanyaan berikut boleh digunakan untuk mendapatkan semula pokok mana-mana kedalaman dalam satu pertanyaan:
SELECT * FROM folders_table WHERE left_index > (SELECT left_index FROM folders_table WHERE id_folder = <parent_folder_id>) AND right_index < (SELECT right_index FROM folders_table WHERE id_folder = <parent_folder_id>) ORDER BY left_index
Sumber untuk Penerokaan Selanjutnya:
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Semua Subdirektori Direktori Khusus dalam MySQL dengan Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!