我以这种方式创建了一个约束:
ALTER TABLE varaus ADD FOREIGN KEY ( varaus_id ) REFERENCES kayttaja ( id );
但是当试图放弃它时:
ALTER TABLE varaus DROP CONSTRAINT varaus_id;
我收到错误:
ERROR: constraint "varaus_id" of relation "varaus" does not exist
我也尝试过:
ALTER TABLE varaus DROP CONSTRAINT varaus_fkey;
ALTER TABLE varaus DROP CONSTRAINT id;
您必须首先使用以下查询找到约束的名称 -
select constraint_name
from information_schema.table_constraints
where table_schema = 'your_schema_name'
and table_name='varaus'
and constraint_name like 'fk_%'
然后在下面的查询中使用这些名称 -
ALTER TABLE varaus DROP CONSTRAINT constraint_name
为什么您应该始终命名约束而不是让 DBMS 生成名称的好例子。因此,而不是最初创建FK使用(例如(
alter table varaus add
constraint var2kay_fk
foreign key ( varaus_id )
references kayttaja ( id );