gpt4 book ai didi

mysql - 在 MySQL 的一个查询中使用不同值更新多行

转载 作者:行者123 更新时间:2023-11-29 15:28:06 25 4
gpt4 key购买 nike

我试图了解如何使用不同的值更新多行,但我只是不明白。解决方案无处不在,但对我来说似乎很难理解。

例如,1 个查询中的 3 个更新:

UPDATE table_users
SET cod_user = '622057'
, date = '12082014'
WHERE user_rol = 'student'
AND cod_office = '17389551';

UPDATE table_users
SET cod_user = '2913659'
, date = '12082014'
WHERE user_rol = 'assistant'
AND cod_office = '17389551';

UPDATE table_users
SET cod_user = '6160230'
, date = '12082014'
WHERE user_rol = 'admin'
AND cod_office = '17389551';

read一个例子,但我真的不明白如何进行查询。即:

UPDATE table_to_update
SET cod_user= IF(cod_office = '17389551','622057','2913659','6160230')
,date = IF(cod_office = '17389551','12082014')
WHERE ?? IN (??) ;

如果 WHERE 和 IF 条件中有多个条件,我不完全清楚如何进行查询......有什么想法吗?

最佳答案

你可以这样做:

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';

我不明白你的日期格式。日期应使用 native 日期和时间类型存储在数据库中。

关于mysql - 在 MySQL 的一个查询中使用不同值更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925079/

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