MySQL FOREIGN KEY 约束报错

Create table Student
(
    Sno varchar(7) primary key,
    Sname varchar(10) not null,
    Ssex char (2) check(Ssex=‘男’or Ssex=’女’),
    Sage int check(Sage between 15 and 45),
    Sdept varchar(20) default ‘计算机系’
);
Create table course
(
    Cno varchar(10) primary key,
    Cname varchar(20) not null,
    Ccredit int check(Sctedit>0),
    Semester int check(Semester>0),
    Period int check(Period>0)
);
Create table SC
(
    Sno varchar(7) foreign key references student(Sno),
    Cno varchar(10) foreign key references course(Cno),
    Grade int check(Grade between 0 and 100),
    Primary key (Sno,Cno)
);

前两个可以成功的建表,但是第三个建表报错:

clipboard.png

更改第三个:

Create table SC
(
    Sno varchar(7),
    Cno varchar(10),
    Grade int check(Grade between 0 and 100),
    foreign key (Sno) references student(Sno),
    foreign key (Cno) references course(Cno),
    Primary key (Sno,Cno),
);

还是报错:

clipboard.png

求解答,谢谢大佬!

阅读 3.5k
1 个回答

创建外键的写法错误吧,
clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题