关于MySQL报错 ERROR 1215 (HY000): Cannot add foreign key constraint

本文介绍了在创建MySQL表时遇到ERROR 1215 (HY000): Cannot add foreign key constraint错误的原因及解决办法,包括外键名称重复和引用字段不对应等常见问题。建议仔细检查代码以避免此类错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多余的就不说了,直接上干货。

创建表

表一(学生):

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主要是因为你的名称有误或者重复,所以还请多仔细检查自己的代码,希望这篇文章能够帮助到你。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值