基於另一張表的數值更新 MySQL 表資料
假設您有兩個結構相似的表,tableA 和 tableB:
id | name | value |
---|---|---|
1 | Joe | 22 |
2 | Derk | 30 |
任務是根據兩個表中相符的 name 值,將 tableA 的 value 欄位的值複製到 tableB 的 value 欄位。
為此,您可以使用以下 MySQL UPDATE 語句:
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = tableA.value;</code>
此語句根據 name 欄位執行 tableA 和 tableB 之間的 INNER JOIN 操作,並使用 tableA 中對應的值更新 tableB 中的 value 欄位。
基於條件的動態值更新:
如果需要根據 tableA 中的值動態更新 tableB 中的 value 列,您可以使用以下方法:
<code class="language-sql">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';</code>
此處,IF() 函數檢查 tableA.value 是否大於 0。如果為真,則將 tableB.value 設為 tableA.value 的值;否則,保留 tableB 中的原始值。
以上是如何根據另一個表的值更新 MySQL 表資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!