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;