首頁 > 資料庫 > mysql教程 > 如何有效率地更新具有不同值的多個 MySQL 行?

如何有效率地更新具有不同值的多個 MySQL 行?

Mary-Kate Olsen
發布: 2025-01-17 11:21:12
原創
490 人瀏覽過

How to Efficiently Update Multiple MySQL Rows with Different Values?

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

引言

使用不同的值更新多行記錄可能具有挑戰性,尤其是在複雜的WHERE條件下。本文旨在透過詳細解釋兩種最常用的方法來簡化此過程:多語句查詢和條件更新。

方法一:多語句查詢

多語句查詢可讓您在一個查詢中執行多個UPDATE指令。雖然此方法簡單直接,但對於大型資料集而言,它可能會變得笨拙。您提供的範例可以如下實現:

<code class="language-sql">UPDATE table_users
SET cod_user = '622057', date = '12082014'
WHERE user_rol = 'student' AND cod_office = '17389551';

UPDATE table_users
SET cod_user = '2913659', date = '12082014'
WHERE user_rol = 'assistant' AND cod_office = '17389551';

UPDATE table_users
SET cod_user = '6160230', date = '12082014'
WHERE user_rol = 'admin' AND cod_office = '17389551';</code>
登入後複製

方法二:使用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>
登入後複製

此方法比多語句查詢更有效率,尤其是在大型資料集的情況下。它還提供了一種更簡潔、更清晰的方式來更新多行記錄。

注意:

務必以一致的、資料庫原生格式儲存日期,以避免潛在問題。

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

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