引言
使用不同的值更新多行記錄可能具有挑戰性,尤其是在複雜的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中文網其他相關文章!