我不熟悉DDL。我假设它们是WHERE
的{{1}}条款,我现在已经理解了ALTER
命令不存在WHERE
条款后的一些研究。如何处理我们可能需要检查ALTER
命令中的某些条件的情况?
Mysql Drop column where all row value is null
例如,对于上述问题,如果我想写下面的代码,我该怎么做?
ALTER
有没有任何标准的SQL方法来实现这一目标?如果没有,任何人都可以为各种数据库(SQL Server,MySQL,Oracle,PostgreSQL)提供方法吗?
答案 0 :(得分:5)
您不能仅删除表中某些行的列。该表有列,或者没有。这就是WHERE
没有ALTER
条款的原因。
听起来您只想在表格中的所有值都为NULL
时才删除此列。您需要的是IF
声明。
更新:
SELECT CASE
WHEN NOT EXISTS (SELECT * FROM my_table WHERE col IS NOT NULL)
THEN 'Y'
ELSE 'N'
END AS my_result
IF my_result = 'Y'
ALTER TABLE...