我收到了您可以在标题中阅读的错误消息。所以我红了,重要的是密钥必须具有相同的数据类型。他们是(检查)。这两者都必须是关键。他们是(检查)。但这就是建议,所有已经提出问题的人都有这些问题之一。那么现在我的是什么?任何想法还有什么可能导致这个错误?
父表:
CREATE TABLE `parent` (
`an_id` char(24) NOT NULL,
`stuff` int(10) unsigned NOT NULL DEFAULT '0',
`otherstuff` datetime DEFAULT NULL,
PRIMARY KEY (`an_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我的表:
CREATE TABLE `child` (
`date` datetime NOT NULL,
`an_id` char(24) NOT NULL,
PRIMARY KEY (`date`,`an_id`),
CONSTRAINT `child` FOREIGN KEY (`an_id`) REFERENCES `parent` (`an_id `)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
答案 0 :(得分:2)
这是你的错字。 an_id
之后有一个额外的空格:
REFERENCES `parent` (`an_id `)