我在查詢一個只具有讀權限的大型mysql數據庫,並且我想將一些慢查詢結果設置爲一個變量'foo',以便我可以在其他查詢中再次使用它們。將查詢結果分配給MySQL變量
基本上,我想爲一個繁瑣的子查詢有一個變量,所以我可以重複使用它,而無需每次運行它時都使用它。
當我輸入:
set @foo := (select *
from table1 join table2
where bar = 0
group by id);
我得到:ERROR 1241(21000):操作數應包含1列(S) ,如果我限制爲1列,ERROR 1242(21000):子查詢返回多個比1排
有沒有辦法將數組或表格存儲在變量中?我沒有權限創建臨時表。
謝謝,但現在我得到:ERROR 1241(21000):操作數應包含1列(S)。當我將它限制爲1列時,我得到:子查詢返回多於1行。 – 5un5
是的,因爲'@ foo'只能存儲一個值。所以在你的SELECT語句中,你一定知道它會返回單值。 –
啊,我明白了。謝謝。有沒有辦法存儲一個表或在一個變量中存儲一個值得查詢的數組? – 5un5