MySQL:使用cmd或者navicat创建外键失败情形以及原因分析

在MySQL中创建外键时遇到错误,经过排查发现是由于从表中被约束字段的数据类型未与主表约束字段一致,特别是未设置unsigned。此外,还强调了存储引擎必须为InnoDB才能支持外键,MyISAM则不支持。在修复数据类型问题后,成功创建外键。

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

一、设置存储引擎

1.查看当前存储引擎

mysql> show engines; //查看所有的存储引擎

结果 如下所示:



说明:我当前的数据表设置的存储引擎是InnoDB形式的

2.在数据库配置文件my.ini中修改默认存储引擎

方法一:如果当前存储引擎为Myisam形式,需要将存储引擎修改一下,在这里建议大家可以在MySQL的配置文件里面进行修改

2.2 修改完配置文件后,需要重启数据库服务器

方法二:使用alter语句修改存储引擎

mysql> show create table tb_dept; //查看tb_dept的建表语句
mysql> show create table tb_emp;//查看tb_emp的建表语句

结果如下所示:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值