首页 > 解决方案 > MySql FK 问题

问题描述

这是我在这里的第一篇文章。我对 MySQL 还是很陌生。我在调试一些涉及外键的代码时遇到问题。每当我取消注释外键并尝试运行代码(使用 XAMPP 和 Netbeans 8.2)时,我都会收到错误消息,提示“外键约束的格式不正确”?我检查了表之间的数据类型以及外键语法并尝试了各种方法,但我完全没有想法(不,不是逗号,我之前已经更正了,问题仍然存在)并且完全受够了。为什么会发生这种情况,我该如何解决?谢谢

DROP TABLE IF EXISTS Staff;
DROP TABLE IF EXISTS Subjects;
DROP TABLE IF EXISTS Results;
DROP TABLE IF EXISTS Students;


CREATE TABLE Students
(
    StudentID       INT NOT NULL,
    Forename        VARCHAR(20) NOT NULL,
    Surname         VARCHAR(20) NOT NULL,
    Gender          CHAR(1) NOT NULL,
    DateOfBirth     DATE NOT NULL,
    PRIMARY KEY (StudentID)
);


CREATE TABLE Results
(
    StudentID       INT NOT NULL,
    SubjectID       CHAR(6) NOT NULL,
    Result          INT,
    PRIMARY KEY (StudentID, SubjectID),
    FOREIGN KEY (StudentID)REFERENCES Students(StudentID)
    /*FOREIGN KEY (SubjectID)REFERENCES Subjects(SubjectID)*/
);


CREATE TABLE Subjects
(
    SubjectID       CHAR(6) NOT NULL,
    SubjectTitle    VARCHAR(50) NOT NULL,
    StaffID         INT NOT NULL,
    PRIMARY KEY (SubjectID)
    /*FOREIGN KEY (StaffID) REFERENCES Staff(StaffID)*/
);


CREATE TABLE Staff
(
    StaffID         INT NOT NULL,
    Forename        VARCHAR(20) NOT NULL,
    Surname         VARCHAR(20) NOT NULL,
    Post            VARCHAR(20) NOT NULL,
    PRIMARY KEY (StaffID)
);

标签: mysqlsqlforeign-keys

解决方案


推荐阅读