要更新数据库中的列,我使用以下查询
UPDATE table_name
SET column1 = value1
WHERE condition;
此查询的问题是我最终一次更新了一列
我想通过设置条件并更新满足条件集的整个列来更新列
我尝试过的例子:
UPDATE adggtnz1.lng01_rpt_animrec
SET origin = 'New'
WHERE origin = NULL;
,此查询的结果为
0 row(s) affected Rows matched: 0 Changed: 0 Warnings: 0 0
样本数据图片:
答案 0 :(得分:0)
在查询下面使用case when
子句进行条件更新就是一个例子
UPDATE table_name
SET column1 = case when 1<2 then value1 else value2 end
WHERE condition;
答案 1 :(得分:0)
Why does NULL = NULL evaluate to false in SQL server
否
WHERE origin = NULL;
是
WHERE origin is NULL;
create table `lng01_rpt_animrec` ( `origin` varchar(10) )
insert into `lng01_rpt_animrec` (`origin`) values ('EADD'), (null), ('EADD'), (null), (null), ('EADD'), (null), ('EADD'), ('EADD');
UPDATE lng01_rpt_animrec SET origin = 'New' WHERE origin is null;
select * from `lng01_rpt_animrec`
| origin | | :----- | | EADD | | New | | EADD | | New | | New | | EADD | | New | | EADD | | EADD |
db <>提琴here