首頁 >資料庫 >mysql教程 >如何使用另一個表中的值更新 MySQL 欄位?

如何使用另一個表中的值更新 MySQL 欄位?

Linda Hamilton
Linda Hamilton原創
2025-01-17 04:51:09535瀏覽

How to Update a MySQL Column with Values from Another Table?

MySQL資料庫:使用另一張表的值更新欄位

本文目標是根據符合的名稱,使用「tableA」中的對應值填入「tableB」中的「value」列。

UPDATE語句語法:

為了更新「tableB」中的「value」列,我們可以使用以下UPDATE語句:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

說明:

  • 內部SELECT查詢根據符合的「name」找出「tableA」中對應的「value」。
  • 外部UPDATE語句使用找到的值更新「tableB」中的「value」欄位。
  • 外部UPDATE語句中的WHERE子句確保只更新符合的記錄。

範例:

使用範例資料:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

執行此語句後,「tableB.value」將更新如下:

<code>id  name  value
===================
1   Joe     22
2   Derk    30</code>

其他選項:

  • 要只更新特定行,可以在WHERE子句中加入其他條件。
  • 要根據“tableA.value”動態更新“tableB.value”,可以在SET子句中使用IF語句,如範例所示。

以上是如何使用另一個表中的值更新 MySQL 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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