【问题标题】:Postgres - remove unique contraint (does not exist)Postgres - 删除唯一约束(不存在)
【发布时间】:2016-08-10 11:27:36
【问题描述】:

我有下表:

我创建了唯一约束CREATE UNIQUE INDEX unique_item_media_idx ON mediagalleryitem (article_id, media_id);

现在,我想删除它,这对我来说是不可能的。当我执行ALTER TABLE "mediagalleryitem" DROP CONSTRAINT unique_item_media_idx; 时,它告诉我:关系“mediagalleryitem”的约束“unique_item_media_idx”不存在

当我从 CLI \d mediagalleryitem 运行时,我得到:

Indexes:
"mediagalleryitem_pkey" PRIMARY KEY, btree (id)
"unique_item_media_idx" UNIQUE, btree (article_id, media_id)
"idx_1c5848117294869c" btree (article_id)
"idx_1c584811ea9fdd75" btree (media_id)

Foreign-key constraints:
"fk_1c5848117294869c" FOREIGN KEY (article_id) REFERENCES article(id)
"fk_1c584811ea9fdd75" FOREIGN KEY (media_id) REFERENCES media(id)

问题出在哪里?

【问题讨论】:

    标签: postgresql unique alter-table not-exists


    【解决方案1】:

    你所拥有的是一个索引,而不是一个约束。您可以使用DROP INDEX unique_item_media_idx 删除它。正如您创建索引一样,您删除了一个索引。

    【讨论】:

    • 啊哈,使用索引是“约束”。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2015-03-06
    • 2012-09-02
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多