如何创建父和两个子表mysql

时间:2017-08-07 06:11:07

标签: mysql

我有一个名为grade的父表:

classid classname 
   1     classone
   2     classtwo

两个名为classone和classtwo的子表。

分类表:

studentid  studentname
   1        john
   2        snow

classtwo table:

studentid studentname
   1         Tyrion
   2         Lannister

如何使用主键和外键创建这些表?

我是mysql数据库的新手,谁可以帮助我?

1 个答案:

答案 0 :(得分:1)

为每个外表添加 FOREIGN KEY(classId)REFERENCES Grade(classId)

CREATE TABLE Grade(
    classId INT NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(classId),
    className VARCHAR(255),
) ENGINE=INNODB;

CREATE TABLE Classone(
    studentId  INT NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(studentId),
    studentName VARCHAR(255),
    classId CHAR(40),
    FOREIGN KEY (classId) REFERENCES Grade(classId)
) ENGINE=INNODB;

CREATE TABLE Classtwo(
   studentId  INT NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(studentId),
    studentName VARCHAR(255),
    classId CHAR(40),
    FOREIGN KEY (classId) REFERENCES Grade(classId)
) ENGINE=INNODB;

请记住,您还需要在每个foreing表中添加classId以匹配它们。所以我还为这些类表添加了两个列。