当我尝试使用General 1005, Can't create table
设置外键约束时,我收到ON DELETE SET NULL
错误。
我可以使用ON DELETE RESTRICT或CASCADE设置外键没有问题
ALTER TABLE `users`
ADD CONSTRAINT users_domain_id_foreign
FOREIGN KEY (`domain_id`)
REFERENCES `domains` (`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE
但是我需要它在删除时设置null但这只是不起作用。如上所述,设置带有ON DELETE SET NULL
的外键抛出1005无法创建表错误。任何人都可以解释为什么这不起作用?
ALTER TABLE `users`
ADD CONSTRAINT users_domain_id_foreign
FOREIGN KEY (`domain_id`)
REFERENCES `domains` (`id`)
ON DELETE SET NULL
ON UPDATE CASCADE
(mySQL 5.5.24,所有表都是InnoDB)
附加:如果有人要求,domain_id
是无符号整数并且是索引。引用的id
是一个自动递增的ID。