首页 > 数据库 > mysql教程 > 如何在单个查询中更新具有不同值的多个 MySQL 行?

如何在单个查询中更新具有不同值的多个 MySQL 行?

Patricia Arquette
发布: 2025-01-17 11:07:10
原创
534 人浏览过

How Can I Update Multiple MySQL Rows with Different Values in a Single Query?

高效更新多个具有不同值的 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_userdate 列:

<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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板