MySQL FOREIGN KEY 约束报错

查看:220
本文介绍了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)
);

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

更改第三个:

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),
);

还是报错:

求解答,谢谢大佬!

解决方案

创建外键的写法错误吧,

这篇关于MySQL FOREIGN KEY 约束报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆