首頁 >資料庫 >mysql教程 >如何根據另一個表的值更新 MySQL 表資料?

如何根據另一個表的值更新 MySQL 表資料?

Barbara Streisand
Barbara Streisand原創
2025-01-17 04:47:09819瀏覽

How to Update MySQL Table Data Based on Another Table's Values?

基於另一張表的數值更新 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn