我有兩張桌子,看起來都像是
id name value =================== 1 Joe 22 2 Derk 30
我需要根據每個表中的檢查名稱將 value 的值從 tableA 複製到 tableB 。
value
tableA
tableB
對於這個 UPDATE 語句有什麼提示嗎?
UPDATE
您需要連接兩個表:
例如,您想要將 name 的值從 tableA 複製到 tableB,它們具有相同的 ID
name
ID
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name WHERE t2.name = 'Joe'
更新1
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name
更新2
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.name = t2.name SET t1.value = t2.value
除了這個答案之外,如果您需要根據 tableA.value 動態變更 tableB.value,您可以執行以下操作:
UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value) WHERE tableA.name = 'Joe'
您需要連接兩個表:
例如,您想要將
name
的值從 tableA 複製到tableB
,它們具有相同的ID
更新1
更新2
除了這個答案之外,如果您需要根據 tableA.value 動態變更 tableB.value,您可以執行以下操作: