JPA 数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails
最近写jpa 的单项多对多,出现的错误,记录一下
java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`dj_examination_service`.`dj_exam_bank_rules`, CONSTRAINT `dj_exam_bank_rules_ibfk_1` FOREIGN KEY (`question_bank_id`) REFERENCES `dj_exam_question_bank` (`id`))at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:975)at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1114)at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1062)at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1383)
找了半天 网上的帖子是说对应的主键不存在,但是我的数据库中明明是早已就创建好的。
这时候查看sql输出内容发现端倪。insert 的值 反了,最终找到配置多对多关系的时候 对应的id写反了
实体SelectionRules 中错误的配置
@ManyToMany@JoinTable(name="dj_exam_bank_rules",joinColumns={@JoinColumn(name="question_bank_id",referencedColumnName ="id")},inverseJoinColumns ={@JoinColumn(name="rules_id",referencedColumnName ="id")} )private Set<QuestionBank> bankSet = new HashSet<>();
正确配置 如下
@ManyToMany@JoinTable(name="dj_exam_bank_rules",joinColumns={@JoinColumn(name="rules_id",referencedColumnName ="id")},inverseJoinColumns ={@JoinColumn(name="question_bank_id",referencedColumnName ="id")} )private Set<QuestionBank> bankSet = new HashSet<>();
JPA 数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails相关推荐
- Mysql添加数据时失败 Cannot add or update a child row: a foreign key constraint fails
报错: Cannot add or update a child row: a foreign key constraint fails (`zy_test`.`order_item`, CONSTR ...
- Cannot add or update a child row: a foreign key constraint fails都有哪些原因
文章目录 前言 可能原因 1. 外键字段的数据类型 不匹配 2. 外键对应的表没有相应的数据 转载请标明出处: https://bigmaning.blog.csdn.net/article/deta ...
- 关于mysql数据库的外键插入报错:Cannot add or update a child row: a foreign key constraint fails,完整性问题
关于mysql的外键插入报错:Cannot add or update a child row: a foreign key constraint fails..... 首先确定sql语句的正确 然后 ...
- 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 ...
- 解决 mysql 插入数据报错: Cannot add or update a child row: a foreign key constraint fails
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 场景:我的情况是主表为用户 user 表,从表为职位 job 表,其中 job 表有一个外键为 us ...
- mysql 1452 Cannot add or update a child row: a foreign key constraint fails
文章目录 1. 出现报错 2. 解决方案 3. 追溯原因 3.1 简单的原因 3.2 棘手的原因 1. 出现报错 在进行mysq关系l数据库到neo4j图数据库转换的时候,转换规则涉及到外键,所以需要 ...
- Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法
报错的原因大概分为三种: 原因一: 添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同 原因二: 要添加外键的表类型与另一个表的存储引擎是不是都为innodb引擎 #查看表引擎 法一: s ...
- Cannot add or update a child row: a foreign key constraint fails (`university`.`instructor`, CONSTRA
外键约束失败,看下是不是字段不匹配问题 比如说:一个表student,一个表score,score 表有个外键是 studentName,在向数据表 score 内插入数据{10,'Tom'} 的时候 ...
- 1452-Cannot add or update a child row: a foreign key constraint fails
1.错误描述 MySQL 2.错误原因 t_nums表中的name不属于t_stu表中的name,t_stu表中的name是字母和数字构成的,而t_nums表中name是数字构成的,两者没有重合的部分 ...
最新文章
- php vc9安装包免费下载,phpstudy 2013软件下载-phpstudy 2013安装包pc客户端 - 极光下载站...
- C# 使用FileSystemWatcher来监视文件系统的变化
- 计算机系统操作工中级工试卷,计算机系统操作工中级理论试题及答案.doc
- 金融二叉树模型-给期权定价
- 使用node批量压缩图片
- 误: Automation 服务器不能创建对象 解决方案
- matlab最简矩阵,Matlab中,将矩阵A化为行最简阶梯型矩阵,需借助指令:
- .net是什么域名?域名注册需要实名制吗?
- android七牛短视频sdk源码,使用七牛开发短视频
- 快看看——刚出生的小刺猬,超可爱{图}
- 电脑如何同时安装JDK11和JDK1.8(适用于多个JDK)
- Django介绍,mvc设计模式及mvt设计模式介绍及对比
- skynet框架的设计结构
- 统计学之三大相关性系数(pearson、spearman、kendall)matlab实现
- 今天用上了xmail管理器
- 有未经处理的异常: Microsoft C++ 异常: cv::Exception
- define和sbit的区别
- NumberFormat类、BigInteger类和BigDecimal类-JAVA
- WGS84坐标 火星坐标 BD09坐标转换
- OpenAI掌门人Sam Altman:DALL·E 2 教会我的三件事!