Melaksanakan pertanyaan dinamik, di mana pernyataan SQL itu sendiri dibina pada masa jalan, biasanya dilakukan dalam MSSQL menggunakan prosedur tersimpan EXEC. Walau bagaimanapun, MySQL tidak mempunyai persamaan langsung.
Untuk melaksanakan pertanyaan dinamik dalam MySQL, satu pendekatan ialah membina rentetan pertanyaan sebagai pembolehubah dan kemudian menggunakan penyata PREPARE dan EXECUTE.
Kod berikut menunjukkan cara untuk melaksanakan dinamik pertanyaan dalam MySQL:
SET @queryString = ( SELECT CONCAT('INSERT INTO user_group (`group_id`,`user_id`) VALUES ', www.vals) as res FROM ( SELECT GROUP_CONCAT(qwe.asd SEPARATOR ',') as vals FROM ( SELECT CONCAT('(59,', user_id, ')') as asd FROM access WHERE residency = 9 ) as qwe ) as www ); PREPARE stmt FROM @queryString; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @asd = NULL;
Dengan mengikuti pendekatan ini, MySQL boleh melaksanakan pertanyaan dinamik walaupun pertanyaan itu sendiri tidak diketahui terlebih dahulu.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan Dinamik dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!