執行動態查詢(SQL 語句本身是在執行時建構的)通常在 MSSQL 中使用 EXEC 預存程序來執行。然而,MySQL 缺乏直接的等效項。
要在 MySQL 中執行動態查詢,一種方法是將查詢字串建構為變量,然後使用 PREPARE 和 EXECUTE 語句。
以下程式碼示範如何在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;
透過遵循此方法,MySQL 可以執行動態查詢,即使查詢本身事先未知。
以上是如何在MySQL中執行動態查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!