【发布时间】:2014-06-04 10:06:09
【问题描述】:
我正在存储过程中创建一个动态查询。我的存储过程如下:
CREATE PROCEDURE `test1`(IN tab_name VARCHAR(40),IN w_team VARCHAR(40))
BEGIN
SET @t1 =CONCAT("SELECT * FROM ",tab_name," where team=",w_team);
PREPARE stmt3 FROM @t1;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3;
END
当我尝试通过以下调用运行它时:
call test1 ('Test','SPA');
我收到以下错误消息:
错误代码:1054。“where 子句”中的未知列“SPA”
我在没有 where 条件的情况下进行了测试,它工作正常,但是在 where 条件下它不起作用,我尝试使用带有变量名的 @,但它仍然不起作用。
感谢您的帮助。
【问题讨论】:
标签: mysql sql stored-procedures