CREATE TABLE subject (
id int NOT NULL,
subjectName varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
)
CREATE TABLE student(
StudentId int NOT NULL,
Name varchar(50) DEFAULT NULL,
Email varchar(50) DEFAULT NULL,
Address varchar(255) DEFAULT NULL,
PRIMARY KEY (StudentId)
)
create table StudentSubject(
StudentId int,
SubjectId int,
primary key(StudentId, SubjectId),
foreign key(StudentId) references student(StudentId),
foreign key(SubjectId) references subject(id)
);
我收到此错误:
创建表StudentSubject(StudentId int,SubjectId int, 主键(StudentId、SubjectId)、外键(StudentId) 引用学生(StudentId),外键(SubjectId)引用 主题(id))
错误代码:1824。无法打开引用的表“student”0.000 秒
问题是你的 mysql 语句正在搜索分号。 Mysql 通过查找分号来判断下一条语句是否是新语句。
在你的情况下,你只需要输入“;”创建表语句后,然后开始新的。
CREATE TABLE subject (
id int NOT NULL,
subjectName varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
);
CREATE TABLE student(
StudentId int NOT NULL,
Name varchar(50) DEFAULT NULL,
Email varchar(50) DEFAULT NULL,
Address varchar(255) DEFAULT NULL,
PRIMARY KEY (StudentId)
);
create table StudentSubject(
StudentId int,
SubjectId int,
primary key(StudentId, SubjectId),
foreign key(StudentId) references student(StudentId),
foreign key(SubjectId) references subject(id)
);