1
我想基於另一個表中的值更新一個表。以下請求有什麼問題?錯誤:Unknown column 'source.col3' in 'where clause'
更新一個基於使用另一個表中的變量的計算mysql表
UPDATE target
SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
我想基於另一個表中的值更新一個表。以下請求有什麼問題?錯誤:Unknown column 'source.col3' in 'where clause'
更新一個基於使用另一個表中的變量的計算mysql表
UPDATE target
SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
那麼,一個你沒有指定'源'作爲一個表任何地方。
MySQL的實際支持multiple table update,所以你可以寫你的代碼爲:
UPDATE target, source
SET target.col1=source.col1*target.col2
WHERE target.col3=source.col3
現在是否會真正做到你想,我不能沒有更多地瞭解你的表告訴一下。
嗯,看起來像一個非常愚蠢的問題:)我實際上滑了一下,我從最後的SQL,刪除了限制1.它說不適當的使用更新和限制 – 2009-10-29 13:20:23
'LIMIT'只適用於單個表' UPDATE',不適用於多個表。原因是你可能一次更新多個表格,在這種情況下,不可能一致地應用限制。例如,假設你在上面添加了'set ...,source.col4 = target.col4,其中......限制1' - 現在你每次更新兩行表(每行兩行)。應該如何處理限制1? – ChssPly76 2009-10-29 15:57:39