該查詢會運行,但它會生成表名作爲結果,而不是實際從該表中選擇。等同於「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