1

我正在通过墙壁伤害我的头。

我正在尝试使用管理员 GUI 为我的表删除一个 UNIQUE 约束。

当我查看表的结构时:

Indexes:
UNIQUE  | fk_bank, type
UNIQUE  | fk_bank, url_id, type
PRIMARY | rowid

我点击“更改索引”,这给了我这个页面(图片) 我试图删除第一个约束:

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 

如何删除此约束?

4

1 回答 1

1

看起来您有一个唯一索引,而不是唯一约束。所以,使用drop index

DROP INDEX idx_16584_uk_bank_url;
于 2020-09-23T21:12:12.133 回答