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

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

Mary-Kate Olsen
發布: 2025-01-17 11:11:09
原創
871 人瀏覽過

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

使用單一MySQL查詢更新多行不同值

在MySQL中更新多行且每行值不同的操作看似複雜,但理解之後其實很簡單。以下是操作方法:

以下範例程式碼嘗試根據特定條件更新'table_users'表中的三行,'cod_user'和'date'欄位的值各不相同。為此,我們將使用帶有'CASE'和'IN'語句的'UPDATE'語句。

以下查詢執行這些更新:

<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 = '2014-08-12'
WHERE user_role IN ('student', 'assistant', 'admin')
  AND cod_office = '17389551';</code>
登入後複製

查詢分解:

  • 'UPDATE'語句首先指定要更新的表名,在本例中為'table_users'。
  • 'SET'子句定義要更新的欄位以及它們應採用的新值。在此查詢中,我們使用'CASE'語句根據'user_role'的值為'cod_user'分配不同的值。
  • 'WHERE'子句指定決定要更新哪些行的條件。它使用'IN'語句檢查'user_role'是否為('student', 'assistant', 'admin')之一,以及'cod_office'是否與'17389551'相符。

請注意,範例中使用的日期格式並不建議。最佳實踐是將日期儲存為原生日期類型(例如 YYYY-MM-DD)。

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

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