mysql8.0数据库执行语句报1215-Cannot add foreign key constraint

原创公众号:路人甲Java     一位工作十年的前阿里P7大佬。

一、这个问题始终没整明白根本原因,只是换了个库再次执行可以成功。

1、在虚拟机中安装好linux系统后,想着装个mysql服务器吧,安装好之后就可以使用navicat进行连接操作了【具体搭建步骤后续更新】。

2、建好了也可以连接成功并创建了数据库,其他几张关联表也都执行成功,唯独在执行创建employees表的时候,界面报1215-Cannot add foreign key constraint,如下图:

3、经查阅资料,我做了如下操作:对比了另外一张表和在建表的这张两个字段的长度相同,类型相同,数据引擎相同,改了员工表department的约束仍然不起作用。

4、那不行啊,就找原创大佬咨询吧,我把我的解决方案告诉他之后,仍然不起作用的时候,并发送了报错图片截图。他说:把库删掉,重新搞个试试。

5、我当时的理解为把数据库重新删除安装一遍,后来觉得不是这样的,是换个库再次执行以下脚本看看情况,这一换问题迎刃而解。

备注:虽然最根本原因不知道出现在什么地方,确实和那个库有关系,在群里和大家讨论,有些哥们儿使用的版本是5.6,没有遇到过这种情况,8.0版本在使用的时候遇到各种坑。

原文地址:https://www.cnblogs.com/dxw-dong/p/11780238.html

时间: 2024-10-25 00:52:43

mysql8.0数据库执行语句报1215-Cannot add foreign key constraint的相关文章

[Err] 1215 - Cannot add foreign key constraint

添加外键:在A表中添加外键fk_A_B_1,将B表中的 user_id 指向A表的 主键 user_id. 要求: (1)user_id是A表的主键且在B表中对user_id添加索引约束,即key user_id_index (user_id) (2)两张表的user_id的数据格式完全一致 语法:ALTER TABLE `A` ADD CONSTRAINT `fk_A_B_1` FOREIGN KEY (`user_id`) REFERENCES `B` (`user_id`);

mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决

ERROR 1215 (HY000): Cannot add foreign key constraint 最近在建表时遇到了这个错误,然后找了下找到了解决办法,记录下: 本来是要建两张表: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varch

ERROR 1215 (HY000): Cannot add foreign key constraint

MySQL中在为一个varchar类型数据列添加外键时,会发生上面所示的错误,这里我google了一下,感觉它们碰到的问题跟我这个说的有点不相干,尝试了多种方式后来才发现是:主表(table1)所对应关联的数据列必须为unique才可以. [sql] view plain copy #指定主表dept列unique约束 alter table table1 modify dept varchar(5) not null unique. 这里我创建了两张表(table2. table1),表结构如

java数据库执行迁移报错Error creating bean with name 'flywayInitializer' defined in class path resource

报错原因 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocati

MySQL主从复制中断,报“Error on master: message (format)='Cannot delete or update a parent row: a foreign key constraint fails' error code=1217” 错误

前几天,发现从库挂了,具体报错信息如下: 分析思路 1. 因为我采用的是选择性复制,只针对以下几个库进行复制: card,upay,deal,monitor,collect.所以,不太可能出现对于sas_basic的操作能复制到该从库上. 2. 整个架构是1主2从,且都是选择性复制,上面这个从库是直接复制card,upay,deal,monitor,collect这几个数据库的数据,而另外一个从库则是忽略上述库,如下所示: 怀疑是在上述schema下,执行了DROP TABLE IF EXIST

删除带外键的表【foreign key constraint fails】报错

title: 删除带外键的表[foreign key constraint fails]报错 date: 2018-08-02 21:59:06 tags: 数据库 --- 遥想当时正在学hibernate的时候,刚好学到了一对多,多对多的关联操作.时间也正是刚好在那是有了一个项目,把各表的间的结构还理清,俗话说学到就要用到,就把这些表的结构都能配置级联关系的都把它配上.没想到就在这里给自己放了个小坑.前几天在一个帖子中看到别人说,尽量少配些ORM约束,数据库的外键约束什么的.当时还不以为然.没

数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails

在更新表数据时出现了以下报错信息:Cannot add or update a child row: a foreign key constraint fails (o2o.tb_shop, CONSTRAINT fk_shop_profile FOREIGN KEY (owner_id) REFERENCES tb_person_info (user_id)) 也就是说tb_shop表中的涉及到的外键是fk_shop_profile,表tb_shop中的列owner_id和表tb_person

MySQL设置外键报错 #1452 - Cannot add or update a child row: a foreign key constraint fails 解决方法

MySQL数据库,当我尝试在A表中设置B表的主键为外键时,报出错误:#1452 - Cannot add or update a child row: a foreign key constraint fails  于是去搜索了一下 "#1452 - Cannot add or update a child row: a foreign key constraint fails" 的含义与解决方法,根据这篇博文去排查了报错原因,排除了可能1和可能2,然后去研究可能3的具体含义,一开始并

Linux Centos7配置mysql8.0数据库

本文转至:672530440 在此感谢博主,撒花!!! 本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 https://blog.csdn.net/managementandjava/article/details/80039650 ---------------------------------------------------------