对同一学生选两门课时,发生DataIntegrityViolationException

来源:3-3 update和batchUpdate

Davison_dyx

2019-04-15 21:35:40

String sql = "insert into selection (student,course) values(?,?)";
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] {3,1001});
list.add(new Object[] {3,1003});
jdbcTemplate.batchUpdate(sql,list);
写回答

2回答

好帮手慕阿满

2019-04-16

同学你好,问一下同学student表中,存在id为3的学生吗?course表中,存在id为1001和1003的课程吗?如果没有,同学应该先插入学生以及课程信息才可以。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

好帮手慕阿满

2019-04-16

同学你好,问一下同学selection表中的联合主键是(student,course)吗?建议同学将完整的报错信息贴一下。

祝:学习愉快~

0
havison_dyx
h org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into selection (student,course) values(?,?)]; Cannot add or update a child row: a foreign key constraint fails (`selection_course`.`selection`, CONSTRAINT `FK_Reference_2` FOREIGN KEY (`student`) REFERENCES `course` (`id`)); nested exception is java.sql.BatchUpdateException: Cannot add or update a child row: a foreign key constraint fails (`selection_course`.`selection`, CONSTRAINT `FK_Reference_2` FOREIGN KEY (`student`) REFERENCES `course` (`id`) 是student与course联合主键
h019-04-16
共1条回复

0 学习 · 8263 问题

查看课程