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

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

Mary-Kate Olsen
发布: 2025-01-17 11:11:09
原创
871 人浏览过

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

使用单个MySQL查询更新多行不同值

在MySQL中更新多行且每行值不同的操作看似复杂,但理解之后其实很简单。以下是操作方法:

以下示例代码尝试根据特定条件更新'table_users'表中的三行,'cod_user'和'date'字段的值各不相同。为此,我们将使用带有'CASE'和'IN'语句的'UPDATE'语句。

以下查询执行这些更新:

<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 = '2014-08-12'
WHERE user_role IN ('student', 'assistant', 'admin')
  AND cod_office = '17389551';</code>
登录后复制

查询分解:

  • 'UPDATE'语句首先指定要更新的表名,在本例中为'table_users'。
  • 'SET'子句定义要更新的列以及它们应采用的新值。在此查询中,我们使用'CASE'语句根据'user_role'的值为'cod_user'分配不同的值。
  • 'WHERE'子句指定确定要更新哪些行的条件。它使用'IN'语句检查'user_role'是否为('student', 'assistant', 'admin')之一,以及'cod_office'是否与'17389551'匹配。

请注意,示例中使用的日期格式并不推荐。最佳实践是将日期存储为原生日期类型(例如 YYYY-MM-DD)。

以上是如何在单个 MySQL 查询中更新具有不同值的多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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