Bur*_*imi 47 mysql set tablename
我有一个案例,获取表名应该来自一个设置变量,如:
SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1);
SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1);
select * from @Cat where ID = @ID_1
Run Code Online (Sandbox Code Playgroud)
但是这样做MySQL输出错误,所以有人可以告诉我如何实现这一点,因为这些是我在MySQL中的宝贝步骤.
Joe*_*lli 73
你必须用准备好的声明来做这件事.就像是:
SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1);
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
Run Code Online (Sandbox Code Playgroud)