Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建父表和两个子表mysql_Mysql - Fatal编程技术网

如何创建父表和两个子表mysql

如何创建父表和两个子表mysql,mysql,Mysql,我有一个名为grade的父表: classid classname 1 classone 2 classtwo 两个名为classone和classtwo的子表 第一类表格: studentid studentname 1 john 2 snow 第二类表格: studentid studentname 1 Tyrion 2 Lannister 如何使用主键和外键创建这些表

我有一个名为grade的父表:

classid classname 
   1     classone
   2     classtwo
两个名为classone和classtwo的子表

第一类表格:

studentid  studentname
   1        john
   2        snow
第二类表格:

studentid studentname
   1         Tyrion
   2         Lannister
如何使用主键和外键创建这些表

我是mysql数据库的新手,谁能帮我?

将外键classId引用GradeclassId添加到每个外键表中:

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以匹配它们。因此,我还为这些类表添加了两个列。

格式和打字,谢谢,效果很好。我想您是DB导出。我还有一个问题:@stack我今天在上班,但我会尽快看一看。