【问题标题】:Postgresql 11.3 delete constraint by adminerPostgresql 11.3 管理员删除约束
【发布时间】:2020-09-23 21:08:37
【问题描述】:

我的头撞墙了。

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

当我查看表格的结构时:

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 

如何删除这个约束?

【问题讨论】:

    标签: sql postgresql constraints adminer


    【解决方案1】:

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

    DROP INDEX idx_16584_uk_bank_url;
    

    【讨论】:

    • -_- 当它只是一个索引时,尝试了几个小时来删除一个约束。管理员应该更了解
    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多