在 MySQL 中執行字串:可能嗎?
在 MySQL 中,將字串變數作為查詢傳遞通常會帶來挑戰,特別是在嘗試時動態執行它。與 Microsoft SQL Server 的 EXEC 指令不同,MySQL 缺乏類似的功能。但是,還有另一種方法可以實現此功能。
要在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;
在此範例中,@queryString 變數是透過連接單獨的查詢部分。然後執行預備語句 stmt,動態執行 INSERT 運算。執行後,該語句被釋放,@asd 變數被設定為 NULL,以避免動態查詢產生任何揮之不去的影響。
透過採用這種技術,您可以有效地在 MySQL 中執行字串,模仿JavaScript 中的 eval() 函數為更動態和靈活的查詢執行提供了可能性。
以上是如何在 MySQL 中執行動態 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!