我似乎无法做对这个,我试图修改一个字段为外键,并进行级联删除...我做错了什么?
ALTER TABLE my_table
ADD CONSTRAINT $4
FOREIGN KEY my_field
REFERENCES my_foreign_table
ON DELETE CASCADE;
我似乎无法做对这个,我试图修改一个字段为外键,并进行级联删除...我做错了什么?
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;
我在这里仍然缺少一个明确指定了外部列(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;
REFERENCES my_foreign_table(my_foreign_column)
。 - NuclearPeon