所以我正在学校开展一个项目,我们使用MySQL建立一个数据库并完成有关学校科目和考试委员会的各种任务。我的一个问题是:
“再次使用查询脚本创建并填充第三个名为 entries 的表。此表应包含外键,以允许与其他两个表进行合理的链接,以及每个表的日期考试“。
执行此任务时,我尝试了此代码
CREATE TABLE IF NOT EXISTS entries(
subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
subject_name VARCHAR(20) NOT NULL,
level_of_entry VARCHAR(10) NOT NULL,
exam_board VARCHAR(10) NOT NULL,
date_of_exam DATETIME NOT NULL,
PRIMARY KEY (date_of_exam),
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id)
);
这很好,但是当我尝试这个时:
CREATE TABLE IF NOT EXISTS entries(
subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
subject_name VARCHAR(20) NOT NULL,
level_of_entry VARCHAR(10) NOT NULL,
exam_board VARCHAR(10) NOT NULL,
date_of_exam DATETIME NOT NULL,
PRIMARY KEY (date_of_exam),
FOREIGN KEY (subject_id) REFERENCES subjects(subject_id),
FOREIGN KEY (subject_name) REFERENCES subjects(subject_name)
);
它抛出并显示错误消息:
"ERROR 1215 (HY000): Cannot add foreign key constraint"
有关如何添加多个外键语句而不会导致错误的任何线索。我也尝试使用ALTER TABLE函数,但是没有用,
非常感谢
安德鲁。