刷新数据库总是报错:不能增加或者更新约束, Cannot add or update a child row: a foreign key constraint fails

Ubuntu云服务器上用MySQL/MariaDB命令行创建生产级数据表 CREATE TABLE是关系型数据库最基础也最关键的SQL操作,其本质是定义数据契约——通过字段类型、约束条件与索引策略,明确数据的结构、完整性与访问效率。理解VARCHAR与TEXT的存储差异、NOT NULL与DEFAULT的业务语义边界、AUTO_INCREMENT与UUID在分布式场景下的取舍,直接决定表能否支撑高并发、多地域、长生命周期的现代应用。在Ubuntu系统中,借助apt原生支持的MySQL或MariaDB服务,配合命令行脚本化建表,可实现环境一致、可复现、易运维的数据库初始化流程。本文 阅读详情
$2.run(QueuedThreadPool.java:590)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
 Cannot add or update a child row: a foreign key constraint fails (`manager2`.`#sql-7d0_26`, CONSTRAINT `FKgg6g1h63qg29is5ypae70elgt` FOREIGN KEY (`model_id`) REFERENCES `saas_model` (`id`))
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
 

这是因为数据冗余造成不能正常更行数据,删去这些数据就行了,认真看报错信息,给的提示也挺完整的,比如:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
 Cannot add or update a child row: a foreign key constraint fails 
(`manager2`.`#sql-7d0_21`, CONSTRAINT `FK47i0hrv2j92ffjagi98vf3si9` FOREIGN KEY (`parent_id`) REFERENCES `saas_element` (`id`))
	at 
就是table saas_element 中id 和parent_id  冲突,具体是,parent_id ,已经删去,但是仍然存在parent为xxx的数据;

select * from saas_element a where a.parent_id not in  (select id from saas_element ) 

-----------------over--------------

下面是我自己的删除数据

select * from saas_element a where a.parent_id not in  (select id from saas_element )  
父id 不在id中;即有父但是父已经不存在的,所有数据
select * from saas_modelfield a where a.model_id not in  (select id from saas_model )  
在 modelfield 表中,查model_id 已经不存在但是还有数据的这些信息

select * from saas_taglibimport a where a.layout_id not in  (select id from saas_layout a where a.model_id not in  (select id from saas_model )  )  
layout_element
select * from saas_layout_element a where a.Layout_id not in  (select id from saas_layout a where a.model_id not in  (select id from saas_model )  )  
delet table ,tagcatagroy,tagimport 

select * from saas_layout a where a.model_id not in  (select id from saas_model )  

select * from saas_taginfoproperty a where a.taginfo_id not in  (select id from saas_taginfo )  
select * from saas_layout a where a.prevVersion_id not in  (select id from saas_Layout )  
//remove taglibimport retrain of layout
select * from saas_layout a where a.model_id not in  (select id from saas_model )
select * from saas_layout a where a.prevVersion_id not in  (select id from saas_Layout )

//menu ,pageid

select * from saas_page a where a.layout_id not in  (select id from saas_layout )  
//删去能删的数据剩下page Id 88;in saas_menu 
select * from saas_page a where a.layout_id not in  (select id from saas_layout )

select * from saas_layout_element a where a.layout_id not in  (select id from saas_layout )

//menu_page page,
select * from saas_menu_page a where a.relevantPages_id not in  (select id from saas_page )
//e
select * from saas_taglibimport a where a.layout_id not in  (select id from saas_layout )  

http://blog.youkuaiyun.com/flymoringbird/article/details/52468966
select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE //这个是查询出所有的主键和外键


基于Java EE的项目管理系统:从SSM架构到数据库设计全解析 Java EE作为企业级Web开发的标准体系,其分层架构思想深刻影响了现代后端工程实践。以SSM组合(Spring+SpringMVC+MyBatis)为代表的经典技术栈,通过IoC容器管理依赖、AOP统一处理事务、MVC分离请求流程、ORM映射数据操作,为中小型管理系统提供了高效且可维护的落地路径。本文从分层架构与模块化设计切入,解析基于RBAC模型的权限控制、状态机驱动的任务流转,以及MySQL中表关系、索引与聚合SQL的优化思路,并结合实际部署演示完整的设计闭环。无论是毕业设计、课程实训还是初级开发者 阅读详情

相关推荐

Jeepay开源Java支付系统实战指南:架构、部署与避坑

开源支付系统是Java后端工程师在金融级业务中高频接触的领域模型实践载体。其核心在于统一多渠道(微信、支付宝等)接入、保障事务一致性、实现幂等与对账能力。基于Spring Boot的分层架构设计,既规避了微服务过度复杂化风险,又通过事务传播、乐观锁、自研验签等手段满足监管与稳定性要求。技术选型上,Java凭借成熟的事务控制、审计日志和JVM可观测性,在支付场景中显著优于Go或Node.js。实际落地涉及JDK兼容性、MySQL 8.0配置、Redis连接、渠道沙箱调试及生产监控五大关键环节,尤其需关注GC调

weixin_34007020的博客 306

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

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

nnnnn_nnnnnqweqwewr的博客 901

RK3588与银河麒麟V10 SP1 2403深度适配:国产化硬件与操作系统的完美融合

本文深入探讨了RK3588处理器与银河麒麟V10 SP1 2403操作系统的深度适配,展示了国产化硬件与操作系统的完美融合。通过性能验证和实际应用测试,证明了这套组合在多媒体处理、AI推理和日常办公中的卓越表现,实现了完全自主可控的计算平台。

weixin_29194255的博客 248

eureka nacos 多注册中心时ribbon报错

2021-08-20 21:56:14.012 ERROR 221336 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.Abstract..

qq_42154996的博客 632

ORACLE 12C RAC 启动报错,错误代码 ORA-27300,ORA-27301,ORA-27302

非一体机,12.2 无任何补丁,2套X86服务器,1节点集群异常(数据库正常,还有会话),2节点正常工作,负载不高,硬件、空间均未检查到异常,多路径存在掉线的情况,但通过Mulitpath -ll 看又是正常的,2根私有网络,其中一根不同,sysctl中配置的稀疏模式。5、再次加成crs alert ohas等集群日志,以及根据现象和错误再次到后台sr中查找可用信息,发现有一个类似问题,12.2 RAC 无任何补丁,报同样错误,解决方案为重启两套服务器。查询MOS文档以及后台文档,排除上面指出的问题。

weixin_42344665的博客 1462

python进行windows系统UI自动化之【pyautoit】

一般以我们平时操作,会从下图上方的地址栏进行操作,这里注意可以直接从下方的文件名处,输入对应的绝对地址,如:F:\程序设计书籍\《啊哈!pyautoit 是一个用python写的基于AutoItX3.dll的接口库,用来进行windows窗口的一系列操作,也支持鼠标键盘的操作。点击上访的图标,进行拖拉,到想访问的位置,注意下图两个红框中的数值,上面的框表示页面的标题和类,下面的框表示控件的类和序号(一般连起来使用)打开Auto Window Info(x64)或Auto Window Info(x86)

weixin_43936332的博客 9314

数据库添加或者更新数据报错:Cannot add or update a child row

Cannot add or update a child row: a foreign key constraint fails (o2o.表一, CONSTRAINT fk_shop_profile FOREIGN KEY(owner_id) REFERENCES 表二(user_id)) 也就是说表一中涉及到的外键是fk_shop_profile, 表一中的列owner_id和表二中的列user_id有外键关联,现在这里的数据插入出现了问题 解决:有外键关联,将关联删掉,再添加或更新数据 ...

Dong_1225的博客 2005

告别PXE!用iPXE在CentOS 8.5上搭建一个能同时装Win11和Linux的万能网络启动盘

本文详细介绍了如何在CentOS 8.5上使用iPXE搭建支持Windows 11和Linux双系统部署的全能网络启动盘。通过对比传统PXE的局限性,展示了iPXE在HTTP协议支持、多架构适配和智能脚本方面的优势,提供从环境准备、服务配置到智能菜单开发的完整解决方案,显著提升系统部署效率。

weixin_29278805的博客 265

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

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

shanahui12的博客 916

从频谱入手搞定ESD:手把手教你用示波器和频谱仪分析静电干扰(以Type-C接口为例)

本文详细介绍了如何利用示波器和频谱仪分析Type-C接口的ESD干扰问题。通过频谱特性分析、耦合路径诊断和实战测试,提供了一套完整的ESD防护方案,包括三级防护设计和器件选型建议,帮助工程师有效解决静电放电导致的系统故障。

weixin_42662293的博客 343

最优化方法 25:PDHG

前面的章节要么从原始问题出发,要么从对偶问题出发,通过求解近似点或者一个子优化问题进行迭代,而且推导过程中我们发现根据问题的参数特征,比如矩阵 AAA 是瘦高型的还是矮胖型的,采用对偶和原始问题的复杂度会不一样,可以选择一个更简单的。而这一节,我们将要从原始对偶问题出发来优化,什么是原始对偶问题呢?就是原始优化变量和对偶优化变量(原始函数和共轭函数)混合在一块,看下面的原理就知道了。 1. 原始对偶问题 现在考虑原始优化问题,其中 f,gf,gf,g 为闭凸函数 min⁡f(x)+g(Ax) \min \q

Glooow的博客 4599

JPA项目,Cannot add or update a child row: a foreign key constraint fails

SQL Error:1452,SQLState:23000. Cannot add or update a child row: a foreign key constraint fails 新增或者更新操作的时候,要操作的记录中含有外键, 但是插入的外键id不在外键所属的表中,所以会报错 使用表中存在的id做外键即可 比如: 现在要新增student表的记录,student表...

hmmmmm2929的博客 8948

Unity 热更新技术 | (二) AssetBundle - 完整系列教程学习

开始学习热更新方面系列知识,就从这一篇开始吧! 本系列教程 会从热更新基本概念出发,详细介绍热更新相关的全套知识点。 如热更新技术基本原理、热更新主流方案、AssetBundle系列教程、Lua语言编程、Lua与Unity交互教程、Xlua框架使用、热更新实战教程等方面。 热更新作为一个开发者必备技能,如果想学习的话,可以从现在开始了哦~ 接下来从 AssetBundle - 完整系列教程学习 开始学习吧!

努力前行,总会成为自己心中的那道光 1万+

SQL 错误 Cannot add or update a child row: a foreign key constraint fails (`o2o`.`tb_product_img`, CON

Cannot add or update a child row: a foreign key constraint fails (`o2o`.`tb_product_img`, CONSTRAINT `fk_product_img_product` FOREIGN KEY (`product_id`) REFERENCES `tb_product` (`product_id`)) 外键不匹...

smallone233的博客 657

使用 syncstart 实现同场景下多个音视频音轨自动化同步

如果需要在视频编辑中同步多个机位的音轨,使得相同的视频能够同时播放,手动操作可能会变得相当复杂。特别是当处理多个视频文件时,例如有10个视频需要互相匹配,实现一对多的同步关系,这就涉及到为每对视频生成匹配的音轨数据。手动完成这样的任务,如生成90套对应的音轨数据,不仅耗时而且容易出错。因此,使用脚本自动化这一过程是一个更为高效和准确的解决方案。通过编写脚本,您可以批量处理多个视频文件,自动同步它们的音轨,大大简化了音视频编辑的工作流程,并确保了同步的准确性。

Mr数据杨 1073

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法

转载:https://blog.youkuaiyun.com/weixin_43713105/article/details/89396870 报错的原因大概分为三种: 原因一: 添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同 原因二: 要添加外键的表类型与另一个表的存储引擎是不是都为innodb引擎 #查看表引擎 法一: show create table 表名; 法二:show table status from 数据库 where name=‘表名’; 法三:use information_sch

weixin_53370274的博客 9802

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

https://stackoverflow.com/questions/21659691/error-1452-cannot-add-or-update-a-child-row-a-foreign-key-constraint-fails https://cloud.tencent.com/developer/ask/60529

啷个哩个啷 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

解决Cannot delete or update a parent row: a foreign key constraint fails的mysql报错

1 问题 删除有外键关联的数据或者表的时候,mysql出现报错: Cannot delete or update a parent row: a foreign key constraint fails 2 解决方法 SET foreign_key_checks = 0; // 先设置外键约束检查关闭 drop table mytable; // 删除数据,表或者视图 SET...

一条吃软饭的软狗 7万+

Cannot add or update a child row: a foreign key constraint fails (`ithei`.`#sql-12ec_24`, CONSTRAINT

问题在于两个表种已有内容不匹配 需要修改后链接。

weixin_56099236的博客 362

数据库表出现Cannot add or update a child row

Cannot add or update a child row

qq_34287953的博客 1925

Parent relevant column can‘t be updated USR_USER_ITINERARY_SCHEDULE->USER_ID

问题说明:我使用jpa使用save更新 ,表中创建了联合索引,更新时报错如图: 解决方案:

qq_35491812的博客 372

parent relation column can't be updated LESSON_EXTENDED_ATTRIBUTE->LESSON_ID

MyCat 中 作为分片的主键不允许更新 , 需要设置为null,调用updateSelectiveByPrimaryKey来更新数据 parent relation column can't be updated LESSON_EXTENDED_ATTRIBUTE->LESSON_ID 转载于:https://www.cnblogs.com/qianyukun/p/5153986.ht...

weixin_30905133的博客 550

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

错误信息: insert into student (id,name,age,tid) VALUES ( 1,'张三',18,1) > 1452 - Cannot add or update a child row: a foreign key constraint fails (`db123`.`student`, CONSTRAINT `tid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)) > 时间: 0.12s 表结构: studen

男人要霸气的博客 2万+

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

在使用mybatis+springboot完成添加购物车的操作时,往往需要将用户表user表里的user_account字段作为购物车表cart_list里的一个外键,在进行外键关联的时候可能会发生 Cannot add or update a child row: a foreign key constraint fails的错误,即无法添加或更新子行,因为外键约束失败,这说明我们在数据库表进行添加外键的时候可能出了错误,而出现错误的原因大致分为以下几种。

weixin_62727238的博客 3526
上一篇: window 开发java 项目的 一些问题。持续更新,
下一篇: 前端小白vue入门之-vue环境搭建
java_utf8
博客等级 码龄10年 133粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值