是否可以一次性从表中删除所有 NOT NULL 约束?
我有一个带有很多 NOT NULL 约束的大表,我正在寻找一种比单独删除它们更快的解决方案。
原文由 Stefan 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以一次性从表中删除所有 NOT NULL 约束?
我有一个带有很多 NOT NULL 约束的大表,我正在寻找一种比单独删除它们更快的解决方案。
原文由 Stefan 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
3 回答2.3k 阅读
2 回答946 阅读
您可以将它们全部分组在同一个 alter 语句中:
如果您想编写一个 do 块 来生成所需的 sql,您还可以从目录中检索相关列的列表。例如,类似:
(请注意,这也将包括与主键相关的字段,因此您需要将它们过滤掉。)
如果您这样做,请不要忘记使用
quote_ident()
以防您需要处理列名中可能出现的奇怪字符。