Mysql Drop列所有行值为null

时间:2014-10-13 01:34:05

标签: mysql sql

如何从表中删除其所有值为空的所有列?

我有一个大表(100k +行),大约有20多列,很多这些列都没有使用,所以我想删除所有行中所有行的NULL

1 个答案:

答案 0 :(得分:1)

你可以循环遍历游标中的每个字段并一次性执行检查和ALTER,或者你可以一步一步检查以查看哪些字段未被使用:

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

然后删除MAX() NULL的所有字段:

ALTER TABLE YourTable DROP col2