添加'ON DELETE SET NULL'时表创建错误

时间:2013-02-26 13:41:27

标签: mysql

当我尝试使用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。

0 个答案:

没有答案