首页 > 解决方案 > 如何在 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;

标签: mysql

解决方案


UPDATE table 
SET a = COALESCE(a, '0'),
    b = COALESCE(b, '0'),
--  ...
    z = COALESCE(z, '0');

'0', not 0, 是因为你告诉列类型是 VARCHAR 。


推荐阅读