mysql函数

为什么下面这个tn不会调用上面tname参数的值
image.png

阅读 1.7k
1 个回答

from后面是,不是简单的字符串。
例如set tn='xxx'; select from tn会解析成select from 'xxx',显然不对。
如果需要动态获取表,可以用拼接字符串的方式,然后执行,例如:

set @tn='具体表名';
set @sql=concat('select * from ',@tn,' where 1=1');
PREPARE distSQL FROM @sql ;
EXECUTE distSQL;
DEALLOCATE PREPARE distSQL ;    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题