首頁 > 資料庫 > mysql教程 > 如何根據符合的使用者名稱更新 SQL 表行?

如何根據符合的使用者名稱更新 SQL 表行?

DDD
發布: 2025-01-15 08:48:17
原創
389 人瀏覽過

How to Update SQL Table Rows Based on Matching Usernames?

根據符合的使用者名稱更新表中的行值

問:更新表值

在 SQL 資料庫中,您有兩個表,table_atable_b,它們都有一個名為 user_name 的公用欄位。您希望根據符合的 user_name 值,將 table_b 中的特定欄位(名為 column_b_1 和 column_b_2)複製到 table_a 中的對應欄位(column_a_1 和 column_a_2)。如何使用 SQL 語句實現此目標?

答:解

如果已就位適當的索引,您可以使用以下 UPDATE 語句:

<code class="language-sql">UPDATE table_a
SET
  column_a_1 = (SELECT table_b.column_b_1 
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name),
  column_a_2 = (SELECT table_b.column_b_2
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name)
WHERE
  EXISTS (
    SELECT *
    FROM table_b
    WHERE table_b.user_name = table_a.user_name
  );</code>
登入後複製

注意:此 UPDATE 語句使用子查詢從 table_b 中擷取與 table_a 中具有符合 user_name 的每一行相對應的列值。

如果效能令人擔憂,請考慮使用 SELECT 和 JOIN 操作建立暫存表以儲存修改後的行。隨後,您可以從 table_a 中刪除現有數據,並從臨時表重新填充它。

以上是如何根據符合的使用者名稱更新 SQL 表行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板