高效更新具有不同值的多个 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中文网其他相关文章!