执行动态查询(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中文网其他相关文章!