update table_a set col_1=IF('col_1'='NULL',expression_1,expression_2) where id in id_group要达到的效果是:
1.选出表A中id属于id_group的行;
2.判断这些行里面col_1的值是否为空;
3.col_1为空的行设置成表达式1的值;
4.其他不为空的行设置成表达式2的值;请问这一句的语法有没有什么问题,怎么能得到以上需要的效果~?谢谢~~~
1.选出表A中id属于id_group的行;
2.判断这些行里面col_1的值是否为空;
3.col_1为空的行设置成表达式1的值;
4.其他不为空的行设置成表达式2的值;请问这一句的语法有没有什么问题,怎么能得到以上需要的效果~?谢谢~~~
update table_a
set col_1=(case when 'col_1' is NULL then expression_1 else expression_2)
where id in id_group
和
col_1 is null 是有区别的
第一种是说占有内存空间的,存储的内容就是NULL,判断col_1和‘NULL’ 相不相等
第二种是说你设置这个字段的时候,为空值,那么就是NULL,这是一个default的值,它是一个unknown的值,它不是一个任意的确定的值!
update table_a set col_1=IF(col_1 is null,expression_1,expression_2) where id in id_group