Cannot add foreign key constraint 错误解决办法

产生这个错误的多数原因有一下两点: 
1,两张表里要设主键和外键的字段的数据类型或者数据长度不一样 (例如这个是int 另外一个是tinyint,或者都是int,但是设置的长度不同)

2,某个表里已经有记录了

3、两个表的引擎不一样,查看表的引擎语句:

show table status from 数据库名 where name=‘表名‘;

4、要设置外键的字段不能为主键

5、改建所参考的字段必须为主键

6、两个字段必须具有相同的数据类型和约束

原文地址:https://www.cnblogs.com/olddriver123/p/8335263.html

时间: 2024-08-28 20:15:06

Cannot add foreign key constraint 错误解决办法的相关文章

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

Mysql之1451 - Cannot delete or update a parent row: a foreign key constraint fails...解决办法记录

今天使用delete语句删除一张表中的一条信息时,提示了这么一个错误:1451 - Cannot delete or update a parent row: a foreign key constraint fails...错误代码为1451 在这里参考了一位园友的解决方案mysql删除外链解决办法,如下: 关闭外键约束 SET FOREIGN_KEY_CHECKS=0; 语句执行 DELETE FROM blog_blog WHERE blog_blog.id=91; 删除完成后,重新开启外

Cannot add foreign key constraint @ManyToMany @OneToMany

最近在使用shiro做权限管理模块时,使用的时user(用户)-role(角色)-resource(资源)模式,其中user-role 是多对多,role-resource 也是多对多.但是在使用spring data jpa 进行关联映射数据库时,报错: Cannot add foreign key constraint.最后我这里产生错误的的原因是 reource 表中主键ID类型是 bigint , 而role-resource 关联表中的resource_id 是int型,所以报错. 其

Mysql使用Navicat建立外键时报错cannot add foreign key constraint分析

Mysql使用Navicat建立外键时报错cannot add foreign key constraint分析 1)要关联的字段类型或长度不一致. 2)两个要关联的表编码不一样. 3)某个表已经有记录了. 4)将"删除时"和"更新时"都设置相同,如都设置成CASCADE. 原文地址:https://www.cnblogs.com/neymargoal/p/10072347.html

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

原创公众号:路人甲Java     一位工作十年的前阿里P7大佬. 一.这个问题始终没整明白根本原因,只是换了个库再次执行可以成功. 1.在虚拟机中安装好linux系统后,想着装个mysql服务器吧,安装好之后就可以使用navicat进行连接操作了[具体搭建步骤后续更新]. 2.建好了也可以连接成功并创建了数据库,其他几张关联表也都执行成功,唯独在执行创建employees表的时候,界面报1215-Cannot add foreign key constraint,如下图: 3.经查阅资料,我做

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的具体含义,一开始并

Django 迁移错误 Cannot add foreign key constraint

错误分析 更换数据库后 字符集错误 就是原来的库和新的库在外键的字符集上不一样 如图: 解决方案: 1.迁移先需要失败一次(既然出现了这个错误,说明已经迁移了一次) 2.修改当前表外键字段的字符集(或者说COLLATE),修改为外键关联表的字符集 查看表的创建语句(主要是查看外键关联表主键的字符集) SHOW CREATE TABLE `user_group` (查看创建表的命令) 修改字符集 ALTER TABLE user_group_info MODIFY employee_id VARC

[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`);

Discuz升级 Database Error : pre_common_syscache ADD PRIMARY KEY (cname)【解决办法】

错误码: 1068Multiple primary key defined Execution Time : 00:00:00:000Transfer Time : 00:00:00:000Total Time : 00:00:00:000 解决办法:DROP TABLE IF EXISTS pre_common_syscache;CREATE TABLE pre_common_syscache ( cname varchar(32) NOT NULL, ctype tinyint(3) uns