高效率更新多個不同值的 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_user
和 date
欄位:
<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中文網其他相關文章!