有什麼辦法可以更新mysql選擇查詢的select_expr部分中的表。這裏是什麼,我想實現一個例子:在select語句內更新表
SELECT id, name, (UPDATE tbl2 SET currname = tbl.name WHERE tbl2.id = tbl.id) FROM tbl;
這讓我在mysql中的錯誤,但我不明白爲什麼這不應該是可能的,只要我不改變TBL。
編輯: 我將闡明爲什麼我不能使用普通的構造。
這是問題的更爲複雜的例子我的工作:
SELECT id, (SELECT @var = col1 FROM tbl2), @var := @var+1,
(UPDATE tbl2 SET col1 = @var) FROM tbl WHERE ...
所以我基本上在我的SELECT語句中增加一個變量的情況下,想反映這種變化我正在選擇行,因爲我在執行過程中使用了此變量的值。這裏給出的例子可能可以用其他方式來實現,但是由於存在太多不必要的代碼,我不會在這裏發佈的真實例子需要這種功能。
我會澄清我的問題 – 2009-02-13 13:26:25