多余的就不说了,直接上干货。
创建表
表一(学生):
mysql> create table student(
-> sid int auto_increment,
-> sname varchar(10) not null,
-> gender char(1) not null,
-> primary key (sid)
-> )engine=innodb dufault charset=utf8;
表二(成绩):
说明:每一个学生对应一个成绩
mysql> create table score(
-> sid int auto_increment,
-> student_id int
-> number int,
-> primary key (sid),
-> constraint student_score foreign key (student_id) references student (sid)
-> )engine=innodb dufault charset=utf8;
Query OK, 0 rows affected (0.39 sec)
这样创建就是没有问题的,关于报错 ERROR 1215 (HY000): Cannot add foreign key constraint 原因有以下几点:
1、外键的名称可能与之前已经创建过的外键名称重复,
2、constraint student_score foreign key (student_id) references
student (sid) 标黑的地方的名称与你之前创建的名称不对应
PS:总的来说,关于报错 ERROR 1215 (HY000): Cannot add foreign key constraint主要是因为你的名称有误或者重复,所以还请多仔细检查自己的代码,希望这篇文章能够帮助到你。