首頁 > 資料庫 > mysql教程 > 如何在單一查詢中更新具有不同值的多個 MySQL 行?

如何在單一查詢中更新具有不同值的多個 MySQL 行?

Patricia Arquette
發布: 2025-01-17 11:07:10
原創
534 人瀏覽過

How Can I Update Multiple MySQL Rows with Different Values in a Single Query?

高效率更新多個不同值的 MySQL 行

資料庫管理通常需要使用唯一值來更新多行。 MySQL 提供了一個將 UPDATE 語句與 CASE 表達式結合使用的有效解決方案。

解決條件更新

挑戰在於根據各種條件更新行。想像一張包含使用者角色、ID 和辦公室代碼的表;您需要根據角色和辦公室更新使用者 ID。

利用 CASE 表達式

MySQL 的 CASE 表達式可以根據條件分配不同的值。 這完美地滿足了條件更新的需求。

實作解決方案

以下語法根據多個條件更新不同值的多行:

<code class="language-sql">UPDATE table_name
SET column_name = (
    CASE
        WHEN condition1 THEN value1
        WHEN condition2 THEN value2
        ...
    END
),
column_name2 = value2
WHERE condition;</code>
登入後複製

範例:

讓我們更新特定辦公室內不同使用者角色的 cod_userdate 欄位:

<code class="language-sql">UPDATE table_users
SET cod_user = (
    CASE
        WHEN user_role = 'student' THEN '622057'
        WHEN user_role = 'assistant' THEN '2913659'
        WHEN user_role = 'admin' THEN '6160230'
    END
),
date = '12082014'
WHERE user_role IN ('student', 'assistant', 'admin') AND
cod_office = '17389551';</code>
登入後複製

重要注意事項:

  • 保持資料類型一致性(日期、數字等)。
  • 擴展 CASE 表達式以根據需要處理更多條件。
  • 這種方法簡化了更新,提高了效率和資料完整性。

以上是如何在單一查詢中更新具有不同值的多個 MySQL 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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