首页  >  文章  >  数据库  >  如何使用 CASE 批量更新具有特定值的 MySQL 条目?

如何使用 CASE 批量更新具有特定值的 MySQL 条目?

Susan Sarandon
Susan Sarandon原创
2024-11-10 12:55:03246浏览

How to Mass Update MySQL Entries with Specific Values Using CASE?

使用 CASE 批量更新 MySQL 条目以获取新值

在 MySQL 中,使用 CASE 表达式更新条目允许您分配不同的值到基于特定条件的列。要修复提供的查询,请删除 set 关键字后面的逗号并将 CASE 表达式格式化如下:

UPDATE ae44
SET price = CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END

此查询将更新指定 ID 的相应价格。但是,请务必注意,对于具有未包含在 CASE 表达式中的 ID 的任何记录,它还会将价格值设置为 NULL。

如果您只想更新 CASE 表达式中特定 ID 的价格。列表,使用如下查询:

UPDATE ae44
JOIN (
    SELECT 'AT259793380' AS oldval, '500' AS newval
    UNION ALL
    SELECT 'AT271729590' AS oldval, '600' AS newval
    UNION ALL
    SELECT 'AT275981020' AS oldval, '700' AS newval
) q
ON ae44.id = q.oldval
SET price = q.newval

此查询使用子查询创建一个包含 ID 的旧值和新值的表,然后将该表与 ae44 表连接起来并仅执行更新在匹配记录上。

以上是如何使用 CASE 批量更新具有特定值的 MySQL 条目?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn