我需要创建一个接受多个参数的“选择”mysql 程序,与此程序内联,该程序将选择其他表
目标
- 存储过程必须接受多个参数
- 使用多个参数,程序应该在table_a、table_b和table_c上进行选择
目前我正在使用这段代码(它接受多个参数但我不知道如何修改它以便它会在 table_b 和 table_c 上进行另一个选择)
DELIMITER //
CREATE PROCEDURE select_multiple_object(IN user_ids VARCHAR(65535))
BEGIN
SET @query = CONCAT ('SELECt * FROM table_a WHERE userid IN (',user_ids,')');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END //
DELIMITER ;
我真正想要实现的是这样的:
DELIMITER //
CREATE PROCEDURE select_multiple_object(IN user_ids VARCHAR(65535))
BEGIN
SET @query = CONCAT ('
SELECt * FROM table_a WHERE userid IN (',user_ids,');
SELECt * FROM table_b WHERE userid IN (',user_ids,');
SELECt * FROM table_c WHERE userid IN (',user_ids,');
');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END //
DELIMITER ;
CALL select_multiple_object('1,2,3')
最佳答案
首先组装您的 MySQL 查询,然后发送查询,类似于以下内容:
$parameter = "user_ids";
$table = "table_a";
$query = 'SELECT * FROM ' . $parameter . ' WHERE userid IN (",' . $parameter . ',")';
$result = mysql_query($query);
要输入多个参数,只需使用循环根据需要重复此过程即可。
关于Mysql 多参数在存储过程中有多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966241/