【问题标题】:Cannot drop constraint with postgres even using adminer or sql command CONSTRAINT DOESN'T EXIST即使使用 adminer 或 sql 命令 CONSTRAINT DOESN'T EXIST 也无法使用 postgres 删除约束
【发布时间】:2020-01-21 13:42:56
【问题描述】:

即使使用管理员,我也无法在 postgres 中删除约束

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

查询错误:错误:关系“table_name”的约束“constraint_name”不存在

但是如果我创建一个新的:

ALTER TABLE table_name
ADD CONSTRAINT my_new_constraint(column1, column2, ... column_n);

然后它起作用了,我可以放下它。

两年前做出我试图放弃的约束的人就是这样做的:

create unique index constraint_name on table_name (column1,lower(column2),coalesce(deleted_at,\'19000101\')

如果有人有任何想法放弃这个约束?

【问题讨论】:

  • 你在这里的意图是什么:coalesce(deleted_at,\'19000101\')
  • 我刚刚尝试使用它删除索引并且它有效!谢谢```

标签: postgresql


【解决方案1】:

CREATE UNIQUE INDEX 创建一个需要用DROP INDEX 删除的索引,而不是表约束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多