我正在尝试让这个查询工作
delimiter //
CREATE PROCEDURE test2(IN tbl CHAR(64), IN col CHAR(64))
BEGIN
SET @s = CONCAT('SELECT ',col,' FROM ',tbl );
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
//
delimiter ;
这是用来调用它的代码
CALL test2(groups,NAME)
这是我得到的错误: 1 “字段列表”中的未知列“组”SQL2.sql 1 12
表名是 groups,列名是 NAME - 为什么这不起作用
最佳答案
好吧,您已经编写了一个接受字符串的存储过程,并且您已经传递了标识符。
尝试这样调用它:
CALL test2('groups', 'NAME')
关于mysql - 查询没有像预期的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039505/