向该表添加多个外键约束时遇到问题。我听到一个错误说
外键约束格式不正确
引用的两个id都是各自表中的主键。我做错什么了?
CREATE TABLE `works_on` (
`eid` int(11) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
`start_date` date NOT NULL,
PRIMARY KEY (`eid`, `pid`),
CONSTRAINT `works_on_ibfk_1` FOREIGN KEY (`eid`)
REFERENCES `employee` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `works_on_ibfk_2` FOREIGN KEY (`pid`)
REFERENCES `project` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB
1条答案
按热度按时间kcugc4gi1#
这里有一个悖论-不能有主键,其中任何元素都有null值,因此不能在delete上设置null。。
您还应该看到一条错误消息,告诉您主键无效。。