MySQL在数据库中查找所有空值

时间:2012-03-14 17:17:54

标签: mysql database null find

如果我在搜索中错过了解决方案,我会提前道歉。

我发现在我正在测试的数据库中散布着NULL值。

我能够在表中找到所有空值,问题是我正在测试的数据库有517个表,所以下面的查询结构将不起作用,因为我所做的那些列不可能用于那个数量的表< / p>

select 
    *
from
    Table
where
    tbl_column1 or tbl_column2 or tbl_column3 or tbl_column4
    is null

这在MySQL中是否可行,我如何找到所有空值

我可以使用

获取所有列实例
SELECT DISTINCT TABLE_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME IN ('tbl_column1','tbl_column2')
        AND TABLE_SCHEMA='DBwithManyTables'; 

这是解决方案的一部分吗?

有关如何执行此操作的任何想法?

1 个答案:

答案 0 :(得分:0)

您可以可能对此处的脚本进行一些修改:http://forge.mysql.com/tools/tool.php?id=232

您可能需要更改此行...

'SELECT COUNT(*) INTO @CNT_VALUE FROM `',table_schema,'`.`',table_name,'` WHERE `', column_name,'` REGEXP ''',in_search,''';'

......就像这样......

'SELECT COUNT(*) INTO @CNT_VALUE FROM `',table_schema,'`.`',table_name,'` WHERE `', column_name,'` IS NULL''';'

...你可能还需要做一些其他修改,但我相信使用该脚本作为你的基础将引导你获得你正在寻找的信息。