【发布时间】:2015-07-30 22:23:16
【问题描述】:
我正在使用 PHYMyAdmin 创建数据库并创建关系。我收到此错误:
Error creating foreign key on SectionNumber (check data types)
当我尝试执行此 SQL 时:
ALTER TABLE `REGISTER` ADD CONSTRAINT `SectionNumber`
FOREIGN KEY (`SectionNumber`)
REFERENCES `REGISTRATION_SYSTEM`.`SECTION`(`SectionNumber`)
ON DELETE RESTRICT ON UPDATE RESTRICT;
在这个表结构上
CREATE TABLE IF NOT EXISTS `REGISTER` (
`StudentID` int(10) unsigned NOT NULL,
`CourseNumber` int(10) unsigned NOT NULL,
`SectionNumber` int(10) unsigned NOT NULL,
`Semester` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `SECTION` (
`CourseNumber` int(10) unsigned NOT NULL,
`SectionNumber` int(10) unsigned NOT NULL,
`Semester` int(10) unsigned NOT NULL,
`InstructorStaffID` int(10) unsigned NOT NULL,
`MaxEnrollment` tinyint(3) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我搜索了很多,最常见的错误似乎是数据类型不匹配。从上面的 CREATE TABLE SQL 中可以看出,我相当确定键的数据类型匹配。
任何帮助将不胜感激! 谢谢, 丹
【问题讨论】:
标签: mysql relationship foreign-key-relationship