gpt4 book ai didi

mysql - 使用多个 OR 语句更新

转载 作者:太空宇宙 更新时间:2023-11-03 11:28:56 26 4
gpt4 key购买 nike

我要对数据库进行大量更改。

有问题的记录有一列“状态”,仅当未记录某些状态时我才需要更新该列。

select `status`,`source_id` from vicidial_list where list_id = "444662" and source_id = "3791775X"

返回

status,source_id    
ADC,3791775X

ADC 是我更新时应该忽略的状态

如果我跑

update `db`.`vicidial_list` set `status`='SUPR' where list_id = "444662" and source_id = "3791775X" and `status` != "ADC"

这有效,状态值未更新。但是我有多个状态需要忽略,所以我需要运行

update `db`.`vicidial_list` set `status`='SUPR' where list_id = "444662" and source_id = "3791775X" and `status` != "ASUPP" OR `status` !=  "ADC"

此后有多个 OR 语句。但是,如果我执行它然后运行我之前的 select 语句

status,source_id    
SUPR,3791775X

尽管我的 OR 语句应该阻止这种情况,但该字段已更新?

我显然遗漏了一些东西,我该如何向该语句添加多个 OR 语句?

最佳答案

您要使用AND 而不是OR。例如,如果状态是 'ASUPP',则它不是 'ADC'。这是一场比赛,该行得到更新。

另一种可能性是使用:

status NOT IN ('ASUPP',
'ADC')

旁注:最好使用单引号括起字符串,以与标准和其他 DBMS 兼容。

关于mysql - 使用多个 OR 语句更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51650503/

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