Postgresql 11.3 管理员删除约束
Postgresql 11.3 delete constraint by adminer
我的头撞墙了。
我正在尝试使用 Adminer GUI 为我的 table 删除 UNIQUE 约束。
当我查看我的 table 的结构时:
Indexes:
UNIQUE | fk_bank, type
UNIQUE | fk_bank, url_id, type
PRIMARY | rowid
我点击“改变索引”,这给我 this page (image)
我试图删除第一个约束:
ALTER TABLE "llx_bank_url"
DROP CONSTRAINT "idx_16584_uk_bank_url";
RESULT :
ERROR: constraint "idx_16584_uk_bank_url" of relation "llx_bank_url" does not exist
如果不存在这个约束怎么显示?
约束没有出现在“table_constraints”中:
SELECT * FROM "table_constraints" WHERE table_name = 'llx_bank_url';
RESULT :
constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name constraint_type is_deferrable initially_deferred enforced
dolibarr public idx_16584_primary dolibarr public llx_bank_url PRIMARY KEY NO NO YES
dolibarr public 2200_16584_1_not_null dolibarr public llx_bank_url CHECK NO NO YES
dolibarr public 2200_16584_6_not_null dolibarr public llx_bank_url CHECK NO NO YES
当然还有:
ALTER TABLE "llx_bank_url"
ADD CONSTRAINT idx_16584_uk_bank_url UNIQUE(fk_bank, type)
Error in query (7): ERROR: relation "idx_16584_uk_bank_url" already exists
如何删除这个约束?
看起来你有一个唯一索引,而不是一个唯一约束。所以,使用 drop index
:
DROP INDEX idx_16584_uk_bank_url;
我的头撞墙了。
我正在尝试使用 Adminer GUI 为我的 table 删除 UNIQUE 约束。
当我查看我的 table 的结构时:
Indexes:
UNIQUE | fk_bank, type
UNIQUE | fk_bank, url_id, type
PRIMARY | rowid
我点击“改变索引”,这给我 this page (image) 我试图删除第一个约束:
ALTER TABLE "llx_bank_url"
DROP CONSTRAINT "idx_16584_uk_bank_url";
RESULT :
ERROR: constraint "idx_16584_uk_bank_url" of relation "llx_bank_url" does not exist
如果不存在这个约束怎么显示?
约束没有出现在“table_constraints”中:
SELECT * FROM "table_constraints" WHERE table_name = 'llx_bank_url';
RESULT :
constraint_catalog constraint_schema constraint_name table_catalog table_schema table_name constraint_type is_deferrable initially_deferred enforced
dolibarr public idx_16584_primary dolibarr public llx_bank_url PRIMARY KEY NO NO YES
dolibarr public 2200_16584_1_not_null dolibarr public llx_bank_url CHECK NO NO YES
dolibarr public 2200_16584_6_not_null dolibarr public llx_bank_url CHECK NO NO YES
当然还有:
ALTER TABLE "llx_bank_url"
ADD CONSTRAINT idx_16584_uk_bank_url UNIQUE(fk_bank, type)
Error in query (7): ERROR: relation "idx_16584_uk_bank_url" already exists
如何删除这个约束?
看起来你有一个唯一索引,而不是一个唯一约束。所以,使用 drop index
:
DROP INDEX idx_16584_uk_bank_url;