高效率更新不同值的多個 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 中更新具有不同值的多行。
以上是如何使用單一查詢更新具有不同值的多個 MySQL 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!