gpt4 book ai didi

postgresql - 列出 postgresql 表中的所有非空约束

转载 作者:行者123 更新时间:2023-12-05 01:45:42 25 4
gpt4 key购买 nike

我正在尝试在终端中使用 psql 来查找数据库中所有可为空的列。如果我使用

select * from information_schema.check_constraints;

我得到如下信息

 constraint_catalog | constraint_schema  |       constraint_name        |                                         check_clause                                         
--------------------+--------------------+------------------------------+----------------------------------------------------------------------------------------------
foo | public | 12345_67890_1_not_null | bar IS NOT NULL

不幸的是,bar 列出现在许多表中。我可以获得像这样列出列名和表名的所有 public 约束的列表的最简单方法是什么?

最佳答案

要获取特定表中 NOT NULL 列的列表,您可以执行以下操作:

SELECT table_schema, table_name, column_name FROM information_schema.columns
WHERE is_nullable = 'NO';

从这里开始,您可以通过使用您选择的脚本语言迭代此查询的结果并执行以下操作来移除约束:

ALTER TABLE "schema_name"."table_name" ALTER "column_name" DROP NOT NULL;

关于postgresql - 列出 postgresql 表中的所有非空约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com