Tôi đã tạo bảng PostgresQL nhưng tôi đã thêm một ràng buộc kiểm tra không tên trên một trong các cột:
CREATE TABLE FOO
(
id serial primary key,
price_range smallint CHECK (price_range > 0),
url varchar(255)
);
Bây giờ tôi muốn loại bỏ ràng buộc này nhưng tôi không thể tìm ra cách. BẢNG ALTER điển hình ... DROP CONSTRAINT ... cần một constraint_name
nhưng tôi không có.
Tôi biết có một câu trả lời ở đây nhưng khi tôi cố gắng xác định tên của ràng buộc kiểm tra của mình bằng cách làm theo câu trả lời ở đó:
SELECT *
FROM information_schema.constraint_table_usage
WHERE table_name = 'your_table'
Tất cả những gì tôi nhận được là một ràng buộc duy nhất có constraint_name
mục nhập foo pkey
liên quan đến ràng buộc khóa chính và không phải là kiểm tra của tôi trên price
cột. Vì vậy, câu trả lời đó đã không giúp tôi, trừ khi tôi đang thiếu một cái gì đó.
Làm thế nào tôi có thể bỏ ràng buộc này mà không mất bất kỳ dữ liệu nào?
Cảm ơn!