我创建了一个PostgresQL表,但在其中一列上添加了一个未命名的检查约束:
CREATE TABLE FOO
(
id serial primary key,
price_range smallint CHECK (price_range > 0),
url varchar(255)
);
现在,我想删除此约束,但是我不知道如何。典型的ALTER TABLE ... DROP CONSTRAINT ...需要一个,constraint_name
但我没有。
我知道这里有一个答案,但是当我尝试按照那里的答案来确定检查约束的名称时:
SELECT *
FROM information_schema.constraint_table_usage
WHERE table_name = 'your_table'
我得到的只是一个约束,其约束条件constraint_name
是foo pkey
指主键约束,而不是我对该price
列的检查。因此,除非我丢失了某些内容,否则该答案无济于事。
如何在不丢失任何数据的情况下取消此约束?
谢谢!