• mysql 添加外键报错:


    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

  • 相关阅读:
    基本类型与引用类型
    局部变量与实例变量
    语句块
    i++与++i
    JAVA基本概念
    网线8根线的排列方式
    Docker容器常用命令
    内存cache使用的场景
    Python爬虫:Xpath语法笔记
    python实现简单的聊天
  • 原文地址:https://www.cnblogs.com/yybrhr/p/11813103.html
Copyright © 2020-2023  润新知