2014-02-08 81 views

回答

0

號對於非常複雜的查詢,您可以使用臨時表:

CREATE TEMPORARY TABLE tmp SELECT * FROM my_table; 
SELECT name FROM tmp; 

但它會導致很大的開銷爲MySQL服務器。

0

在您的查詢,您是從本錄取結果:

$query = "SELECT * FROM my_table"; 

然後試圖做到這一點:

$query = "SELECT name FROM $results"; 

我能想到的兩件事情,你真的想這樣做。第一個是微不足道的:

$query = "SELECT name FROM my_table"; 

第二個是你想從第一個查詢中獲取表名並在第二個查詢中使用它。你可以這樣做,假設第一個查詢返回一行和一列。或者第二個是在一個循環內,你只是簡化了代碼。

您可以這樣做,因爲您正在構建通過應用程序形成查詢的字符串。您不能在基本的SQL中執行此操作,因爲無法動態創建表名稱和列名稱。他們可以使用prepare語句,這相當於在php中構建字符串。

相關問題