在SQL中查找整个表的替换

时间:2016-06-27 16:04:05

标签: sql

我有多个SQL表,每个表有几列,由于PHP代码错误,应该为NULL的值为0.

我想在所有列和所有行中将所有0更改为NULL。

有没有什么方法可以快速找到表中0的所有值(不管它们所在的列或行)并将它们更新为NULL?

我想在phpMyAdmin中使用SQL代码。

1 个答案:

答案 0 :(得分:2)

我想不出更容易的方法

update yourtable
Set col1 = case when col1 = 0 then NULL else col1 end,
    col2 = case when col2 = 0 then NULL else col2 end,
    ....
Where 0 in(col1,col2,..)

您必须对所有表格执行此操作。如果Mysql支持动态Sql,那么您可以使用它在INFORMATION_SCHEMA COLUMNS

的帮助下构建更新查询。