gpt4 book ai didi

mysql - 某些 SQL Case 语句设置为 NULL

转载 作者:行者123 更新时间:2023-11-29 01:22:40 26 4
gpt4 key购买 nike

您好,我注意到我的 SQL case 语句不正确,并且将 ID 1-3 的字段 Age 设置为 NULL。我该如何阻止这种情况发生?

谢谢

UPDATE table 
SET `Name` = CASE `id`
WHEN 1 THEN 'Sam'
WHEN 2 THEN 'Adam'
WHEN 3 THEN 'James'
WHEN 4 THEN 'Chris'
END,
`Age` = CASE `id`
WHEN 4 THEN '22'
END
WHERE `id` IN (1,2,3,4)

最佳答案

ELSE Age 添加到您的 case 表达式中:

`Age` = CASE `id` WHEN 4 THEN '22' ELSE `Age` END
-- ^^^^^^^^^^

这会导致年龄被设置回其原始值。

完整的查询如下所示:

UPDATE `table`
SET `Name` = CASE `id`
WHEN 1 THEN 'Sam'
WHEN 2 THEN 'Adam'
WHEN 3 THEN 'James'
WHEN 4 THEN 'Chris'
END,
`Age` = CASE `id`
WHEN 4 THEN '22'
ELSE `Age`
END
WHERE `id` IN (1,2,3,4)

关于mysql - 某些 SQL Case 语句设置为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com