如何删除对海报的约束?



我以这种方式创建了一个约束:

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 );

最新更新