1、报错信息

Cannot add or update a child row: a foreign key constraint fails 

2、原因分析

【1】字段的数据类型

父表:

子表:

以上,父表和的对应字段数据类型一致,排除 添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同 这一因素。

【2】表的引擎

USE information_schema;
SELECT
table_catalog,
table_schema,
table_name,
ENGINE
FROM
TABLES
WHERE
table_schema ='net_management'
AND table_name ='cap_kpi_base';

父表:

子表:

以上,父表和子表的引擎都是InnoDB,排除 引擎 因素。

【3】数据问题

以上都排除了,只剩下数据影响了,多半是因为 子表里面的外键列,在父表里面 并没有相应的值,以下,用SQL联表验证一下:

3、解决办法

【1】删除子表里面 关联不了 父表主键 的数据

【2】将子表里面,外键列 设置为null

mysql 添加外键报错:的更多相关文章

  1. MySQL添加外键报错 - referencing column 'xx' and referenced column 'xx' in foreign key constraint 'xx' are incompatible

    MySQL给两个表添加外键时,报错 翻译意思是:外键约束“xx”中的引用列“xx”和引用列“xx”不兼容 说明两个表关联的列数据类型不一致,比如:varchar 与 int,或者 int无符号 与 i ...

  2. MYSQL 添加外键报错

    2014年6月16日 10:48:51 出错的部分提示摘录: #1452 - Cannot add or update a child row: a foreign key constraint fa ...

  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 ...

  4. MySQL添加外键时报错 ERROR 1215 (HY000): Cannot add foreign key constraint

    1.数据类型      2.数据表的引擎 数据表 mysql> show tables; +------------------+ | Tables_in_market | +--------- ...

  5. mysql添加外键无法成功的原因

    最近很忙,碰到很多问题都忘了发上来做个记录,现在又忘了,FUCK,现在碰到一个问题, 就是mysql添加外键总是无法成功,我什么都试了,就是没注意signed和unsigned,FUCK,因为我用my ...

  6. MySQL中MyISAM与InnoDB区别及选择,mysql添加外键

    InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间 ...

  7. Mysql添加外键约束

    简单说一下使用外键的好处 1.完整性约束 比如:用户表中有字段 用户编号(id) , 名称(username)设备表中有字段 设备编号(id) , 设备名称(devicename) 设备属于的用户编号 ...

  8. MYSQL添加外键关联

    SELECT * from stu st,course co,score sc where st.sid = sc.sid and sc.cid = co.cid 如果我们要给 sid 做一个约束,即 ...

  9. MySQL添加外键的方法

    为book表添加外键: <1>明确指定外键的名称: 语法:alter table 表名 add constraint 外键的名称 foreign key(你的外键字段名) REFERENC ...

随机推荐

  1. jQuery学习总结06-插件开发

    本文是参考了Joey的博客后整理的. 先从一个简单扩展jQuery对象的demo开始说起: //sample:扩展jquery对象的方法,redTextColor()用于改变字体颜色. (functi ...

  2. GROUP BY关键字优化

    1.group by实质是先排序后进行分组,遵照索引建的最佳左前缀 2.当无法使用索引列,增大max_length_for_sort_data参数的设置+增大sort_buffer_size参数的设置 ...

  3. CF 937

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  4. u-boot-2019.07 移植步骤

    doc/README.kconfig Tips to add/remove boards------------------------- When adding a new board, the f ...

  5. uboot if_changed函数

    u-boot编译过程分析 u-boot.lds: $(LDSCRIPT) prepare FORCE $(call if_changed_dep,cpp_lds) u-boot: $(u-boot-i ...

  6. java并发学习--第九章 指令重排序

    一.happns-before happns-before是学习指令重排序前的一个必须了解的知识点,他的作用主要是就是用来判断代码的执行顺序. 1.定义 happens-before是用来指定两个操作 ...

  7. thymeleaf常用模板方法收集

    判断是不是为空1.th:if="${xxx} != null" th:if="${xxx != null}" 是不是为空字符串 1.th:if="${ ...

  8. Django【第11篇】:Django之分页升级版本(组件)

    分页组件 一.分页的实现与使用 class Pagination(object): """ 自定义分页 """ def __init__(s ...

  9. jquery 对于新插入的节点 的操作绑定(点击事件,each等)

    因为最近项目遇到这个问题,下面给大家带来一篇Jquery对新插入的节点 获取并对这个节点绑定事件失效的解决方法.我觉得挺不错的,大家也可以参考一下: 对于绑定事件来讲:       方法一:使用liv ...

  10. H5 FileReader对象

    前言:FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件. input:file 在介绍FileReader之前,先简单介绍input的file类型. < ...