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

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

Linda Hamilton
Linda Hamilton原創
2025-01-17 11:01:09916瀏覽

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

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

本指南解決了使用單一 MySQL 查詢更新具有唯一值的多個資料庫行的常見挑戰。 雖然存在多種方法,但這種方法提供了清晰性和效率。

使用 CASE 語句的更清晰方法

傳統方法通常涉及嵌套的 IF() 語句,在多個條件下變得很麻煩。 一個更好的替代方案利用了 CASE 語句的力量:

<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 根據 cod_user 動態分配 user_role 值,同時將 date 設定為所有符合行的一致值。

主要考慮因素

  • CASE 語句: 這些提供了一種簡潔的方法來處理單一查詢中的多個條件分配。
  • WHERE 子句: 這精確定位要更新的行,確保只修改相關記錄。
  • 資料完整性:為了實現最佳資料管理,請使用 MySQL 的本機日期/時間資料類型儲存日期。

這種組合的 CASEWHERE 方法提供了一種結構化且易於理解的解決方案,用於在 MySQL 中更新具有不同值的多行。

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

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