我有一个名为grade的父表:
classid classname
1 classone
2 classtwo
两个名为classone和classtwo的子表。
分类表:
studentid studentname
1 john
2 snow
classtwo table:
studentid studentname
1 Tyrion
2 Lannister
如何使用主键和外键创建这些表?
我是mysql数据库的新手,谁可以帮助我?
答案 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以匹配它们。所以我还为这些类表添加了两个列。