小编kil*_*out的帖子

如何在 PostgresQL 表中删除未命名的检查约束?

我创建了一个 PostgresQL 表,但我在其中一列上添加了一个未命名的检查约束:

CREATE TABLE FOO
(
id serial primary key,
price_range smallint CHECK (price_range > 0),
url varchar(255)
);
Run Code Online (Sandbox Code Playgroud)

现在我想删除这个约束,但我不知道如何。典型的 ALTER TABLE...DROP CONSTRAINT... 需要一个,constraint_name但我没有。

我知道这里有一个答案但是当我尝试按照那里的答案确定检查约束的名称时:

SELECT *
FROM information_schema.constraint_table_usage
WHERE table_name = 'your_table'
Run Code Online (Sandbox Code Playgroud)

我得到的只是一个约束,它的constraint_name条目是foo pkey指主键约束,而不是我对price列的检查。所以这个答案对我没有帮助,除非我遗漏了什么。

如何在不丢失任何数据的情况下删除此约束?

谢谢!

postgresql

11
推荐指数
1
解决办法
6895
查看次数

标签 统计

postgresql ×1