| section | CREATE TABLE `section` (
`CourseNumber` varchar(10) NOT NULL,
`Quarter` varchar(10) NOT NULL,
`RoomNumber` varchar(4) DEFAULT NULL,
`DayTime` varchar(20) DEFAULT NULL,
PRIMARY KEY (`CourseNumber`,`Quarter`),
CONSTRAINT `section_ibfk_1` FOREIGN KEY (`CourseNumber`) REFERENCES `Course` (`CourseNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
| enrollment | CREATE TABLE `enrollment` (
`SSN` varchar(9) DEFAULT NULL,
`CourseNumber` varchar(4) DEFAULT NULL,
`Quarter` varchar(10) DEFAULT NULL,
`Grade` varchar(1) DEFAULT NULL,
KEY `SSN` (`SSN`),
KEY `CourseNumber` (`CourseNumber`),
CONSTRAINT `enrollment_ibfk_1` FOREIGN KEY (`SSN`) REFERENCES `Student` (`SSN`),
CONSTRAINT `enrollment_ibfk_2` FOREIGN KEY (`CourseNumber`) REFERENCES `Course` (`CourseNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
mysql> alter table enrollment add foreign key(Quarter) references section(Quarter);
ERROR 1215 (HY000): Cannot add foreign key constraint
私はSQLの初心者です。私は基本的な概念を学びたいと思っています。 テーブルEnrollmentとSectionの両方のカラムQuarter
にはデータ型VARCHAR(10)があります。そのため、何が原因でエラーが発生するのかわかりません。助けてください。MySQL:同じデータ型の場合でも外部キー制約を追加できません。
データが新しい制約に違反しているのでしょうか? –