Postgresql约束

我似乎无法得到这个权利,我想修改一个字段是一个外键,级联删除…我做错了什么?

ALTER TABLE my_table ADD CONSTRAINT $4 FOREIGN KEY my_field REFERENCES my_foreign_table ON DELETE CASCADE; 

这将有助于您发布错误消息。 但是我认为你只是错过了括号:

 ALTER TABLE my_table ADD CONSTRAINT my_fk FOREIGN KEY (my_field) REFERENCES my_foreign_table ON DELETE CASCADE; 

只是猜测:不应该添加一个外键而不是一个约束?

 ALTER TABLE my_table ADD FOREIGN KEY (my_field) REFERENCES my_foreign_table; 

Postgresql参考

我仍然在某种程度上缺less明确指定的外部列( foreign_field )的答案:

 ALTER TABLE my_table ADD CONSTRAINT my_fk FOREIGN KEY (my_field) REFERENCES my_foreign_table (foreign_field) ON DELETE CASCADE; 

这对我有用,我将列添加到表中,然后添加引用到另一个表的约束:

 -- add column to table ALTER TABLE schema.table ADD COLUMN my_column type; -- add constraint to column ALTER TABLE schema.table ADD CONSTRAINT fk_name FOREIGN KEY (column) REFERENCES schema.table (column) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION;