查询中涉及动态sql的mysql函数

查询中涉及动态sql的mysql函数,mysql,function,select,Mysql,Function,Select,如何使用存储函数而不是显式写入的表名。 我的问题是: select "col_name" from get_table("col_name") where id = 2; get\u table(col\u name)是我存储的函数,它在处理列名后返回表名 我收到错误信息 错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行中使用接近“(“col_name”),其中id=2”的正确语法 我也试着这样做: DECLARE tableName varc

如何使用存储函数而不是显式写入的表名。 我的问题是:

select "col_name" from get_table("col_name") where id = 2;
get\u table(col\u name)
是我存储的函数,它在处理列名后返回表名

我收到错误信息

错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行中使用接近“(“col_name”),其中id=2”的正确语法

我也试着这样做:

DECLARE tableName varchar(30);
set tableName = get_table("col_name");
...
select "col_name" from tableName where id = 2;
这次我得到一个错误:

没有这样的表-表名


有趣的问题。我会争取一份mysql准备好的声明。也取决于你的外部编程语言是什么,如果你想驱动waydeclare函数,看看这个,它会帮助你,对我来说,整个事情看起来太像一个。你的同龄人似乎从来没有这样做过。Drew-上面的select whitten是一个具有3个参数的不同函数的一部分,因此使用get_表(“col_name”)可能会帮助我只使用2个参数。不管我是否使用get_表(“”),我都想知道怎么了对不起,黄色,如果你没有在我的名字前面加上
@
标志,没有空格,我不知道你在跟我说话