我在我的MySQL数据库中有两个表,Event
和Theme
有一对一的关系。FK一对一的约束
ALTER TABLE Event ADD CONSTRAINT FK_FA6F25A359027487 FOREIGN KEY (theme_id) REFERENCES Theme (_uuid) ON DELETE SET NULL;
ALTER TABLE Theme ADD CONSTRAINT FK_56B4C80C71F7E88B FOREIGN KEY (event_id) REFERENCES Event (_uuid) ON DELETE CASCADE;
我想,如果我删除主题战绩,theme_id设置为NULL,如果我删除了事件记录,主题记录也被删除的行为。
但是,现在当我运行DELETE FROM Event时,出现此错误。
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`from_dev`.`eventleveltheme`, CONSTRAINT `FK_6E25E16871F7E88B` FOREIGN KEY (`event_id`) REFERENCES `Event` (`_uuid`))
我可以不设置这两个约束吗?他们有些矛盾吗?
你的桌子上有任何数据吗? – laviku
是的,那里有数据。 – Adam
要展开,theme_ids是有效的id引用和null的混合。 – Adam