2014-10-13 5 views
0

Как я могу удалить все столбцы из таблицы, где все ее значения равны нулю?Столбец Mysql Drop, где все значения строки равны нулю

У меня есть огромный стол (100k + строк) с около 20+ столбцов, много этих колонок вообще не используются, поэтому я хочу, чтобы удалить все столбцы, является NULL во всех строках

+1

'удалить из таблицы, где col1 - null, а col2 - null, а col3 - null ...' repeat для всех столбцов – ajreal

+0

@ajreal Я не хочу удалять строки, я хочу удалить столбец сам – Zalaboza

ответ

1

Вы могли бы проходное каждое поле в курсоре и выполнить проверку и ALTER одним махом, или вы можете просто запустить проверку на один шаг, чтобы увидеть, какие поля не используются:

SELECT MAX(col1) col1 
     ,MAX(col2) col2 
     ,MAX(col3) col3 
     ..... 
FROM YourTable 

Затем удалите все поля, которые имеют MAX() от NULL:

ALTER TABLE YourTable DROP col2 
+0

Пожалуйста, объясните вниз. –

Смежные вопросы