PostgreSQL 删除check约束的实现

删除check约束:

1.\d table_name 查找约束名称

\d dm_alarms_fct_20170613

"dm_alarms_fct_20170613_dm_transct_date_key_check"

2.alter table .. drop constraint ..

ALTER TABLE "dm_alarms_fct_20170613" Drop constraint "dm_alarms_fct_20170613_dm_transct_date_key_check";

补充:PostgreSQL查询约束和创建删除约束

查询约束constraint

SELECT

tc.constraint_name, tc.table_name, kcu.column_name,

ccu.table_name AS foreign_table_name,

ccu.column_name AS foreign_column_name,

tc.is_deferrable,tc.initially_deferred

FROM

information_schema.table_constraints AS tc

JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name

JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name

WHERE constraint_type = 'UNIQUE' AND tc.table_name = 'table_name';

constraint_type有四种:

UNIQUE、PRIMARY KEY、CHECK、FOREIGN KEY, 通过修改上边sql语句的table_name和constraint_type来进行相应的查询。

添加约束

ALTER TABLE table_name ADD CONSTRAINT uk_users_name1 UNIQUE (NAME);

删除约束

alter table table_name drop constraint if EXISTS uk_users_name1;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

以上是 PostgreSQL 删除check约束的实现 的全部内容, 来源链接: utcz.com/z/355993.html

回到顶部