MySQL“ON DELETE CASCADE”太强大了

时间:2010-02-02 09:43:34

标签: sql mysql database data-structures constraints

嘿,在这里遇到问题:我有一个人有一个位置的桌子,如果我删除了位置表的位置,我不会失去指定的人。我在id = 1的位置输入一个条目,名称是:“No location”。那就是我想要做的,但我失败了!

ALTER TABLE `persons`
  ADD CONSTRAINT `persons_ibfk_1` FOREIGN KEY (`location_id`)
  REFERENCES `locations` (`id`) ON DELETE SET `location_id` = 1;

谢谢!

1 个答案:

答案 0 :(得分:3)

使用ON DELETE SET DEFAULT(并将1设为默认值)或ON DELETE SET NULL。 第三个选项是在删除之前手动将所有ID设置为1.