该查询会运行,但它会生成表名作为结果,而不是实际从该表中选择。等同于“SELECT * FROM(SELECT table_name FROM ...)”的东西?
SELECT T.*
FROM (SELECT tablename
FROM ListOfTables
WHERE id = 0) AS T
其中ListOfTables包含id=0, tablename='some_table'
,我想回到相同的结果,如果我写了这直接设置:
SELECT * FROM some_table
有没有在MySQL 5为此原生的方式,还是我必须在应用程序中做?
表名不能是动态的 - 你需要使用动态SQL,在你指定你正在使用的数据库之前,没有人能提供一个合理的例子。 – 2012-02-26 16:13:50
本土方式做什么?目前还不清楚你想要达到的目标。 – 2012-02-26 16:14:00
你期待什么结果?请显示表'ListOfTables'的结构和一些内容 – 2012-02-26 16:15:18