Cara Melaksanakan Pemilihan Jadual Dinamik dalam MySQL
Apabila menanyakan pangkalan data MySQL, anda mungkin menghadapi situasi di mana anda ingin memilih data daripada jadual yang namanya disimpan dalam pembolehubah. Ini boleh berguna untuk pengaturcaraan abstrak atau tujuan dinamik. Walau bagaimanapun, percubaan langsung untuk melaksanakan pertanyaan sedemikian menggunakan sintaks seperti:
SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1); SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1); select * from @Cat where ID = @ID_1
mengakibatkan ralat MySQL. Untuk mengatasi had ini, pendekatan yang lebih mantap diperlukan.
Penyelesaian: Menggunakan Penyata Disediakan
Untuk memilih daripada jadual MySQL tempat nama jadual disimpan dalam pembolehubah , anda boleh menggunakan kenyataan yang disediakan. Kenyataan yang disediakan membolehkan anda menjana dan melaksanakan pertanyaan SQL secara dinamik dengan terlebih dahulu menyediakan pertanyaan dan kemudian melaksanakannya dengan nilai sebenar.
Begini cara anda boleh mencapai ini:
SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1); PREPARE stmt1 FROM @s; EXECUTE stmt1; DEALLOCATE PREPARE stmt1;
Pecahan Penyelesaian:
Atas ialah kandungan terperinci Bagaimana untuk Memilih Data daripada Jadual Dinamakan Dinamik dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!