MySQL不会让我添加多个外键

时间:2016-04-07 13:48:33

标签: mysql foreign-keys

所以我正在学校开展一个项目,我们使用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函数,但是没有用,

非常感谢

安德鲁。

0 个答案:

没有答案