我写了一个像这样的
的mysql查询select concat(b.functionName,'(',id,')') as outPut from ( SELECT id
FROM test _table ) a join my_all_functions_table b on a.fID = b.id;
我想要做的是仅在从表中获取其名称后才执行函数。函数名存储在my_all_functions_table
中,我获取了该函数名,并尝试在查询中执行该函数。但是,查询不是执行函数,而是将函数调用作为字符串返回。即如果函数名称为func
,则它返回select 'func('id')'
作为字符串,但我希望该函数能够执行。任何人都可以告诉我在这里缺少什么。
答案 0 :(得分:1)
请试试这个:
SET @_query_text = CONCAT('select ', (select concat(b.functionName,'(',id,')') as outPut from ( SELECT id FROM test _table ) a join my_all_functions_table b on a.fID = b.id));
PREPARE qry from @_query_text;
EXECUTE qry;
我希望它有所帮助。