MySQL находит все нулевые значения в БД - PullRequest
0 голосов
/ 14 марта 2012

Заранее извиняюсь, если пропустил решение в моем поиске.

Я обнаружил значения NULL, разбросанные по тестируемой базе данных.

Я могу найти все нулевые значения в таблице, проблема в том, что у тестируемой БД есть 517 таблиц, поэтому следующая структура запроса не будет работать, добавление столбцов, как я сделал, для такого количества таблиц невозможно 1005 *

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 голосов
/ 14 марта 2012

Вы можете возможно сделать это с некоторыми изменениями в сценарии, найденном здесь: 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''';'

... и вам, вероятно, придется также внести некоторые другие изменения, но я считаю, что использование этого сценария в качестве основы приведет вас кинформация, которую вы ищете.

...