我创建了一个 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 ×1