(编辑:jimmy 日期: 2024/12/26 浏览:2)
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查询约束和创建删除约束
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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。