mysql 使用另一個表中的值更新列
P粉232793765
P粉232793765 2023-10-11 20:04:57
0
2
548

我有兩張桌子,看起來都像是

id  name  value
===================
1   Joe     22
2   Derk    30

我需要根據每個表中的檢查名稱將 value 的值從 tableA 複製到 tableB

對於這個 UPDATE 語句有什麼提示嗎?

P粉232793765
P粉232793765

全部回覆(2)
P粉186904731

您需要連接兩個表:

例如,您想要將 name 的值從 tableA 複製到 tableB,它們具有相同的 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
P粉511985082

除了這個答案之外,如果您需要根據 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'
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板