mysql - 如何在 MySQL 的一个表中的列为空的情况下分别更新 20 列设置默认值 0?
问题描述
如何在 MySQL 的一个表中的列为空的情况下分别更新 20 列设置默认值 0?
比如我写SQL如下(每列都是varchar字段):
update table set a = 0 where a is Null;
update table set b = 0 where b is Null;
...
...
update table set x = 0 where x is Null;
解决方案
UPDATE table
SET a = COALESCE(a, '0'),
b = COALESCE(b, '0'),
-- ...
z = COALESCE(z, '0');
'0'
, not 0
, 是因为你告诉列类型是 VARCHAR 。