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