为了使用 CASE WHEN 语句更新 MySQL 数据库中的特定行,必须遵循正确的语法。提供的查询尝试根据 ID 值更新价格,演示了 CASE 语句的错误用法。
要解决此问题,正确的更新查询应如下所示:
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END;
在此更正的查询中,请注意:
使用 CASE 更新行当根据特定条件分配不同的值时,语句非常有用。但是,请务必注意,所提供的查询将更新所有记录的价格,无论其 ID 为何。如果目标是仅更新查询中提到的特定 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;
以上是如何使用CASE赋值正确更新MySQL中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!