前几天在做爬虫项目时
发现一个很奇怪的问题。
项目使用 springboot 配合 jpa 进行开发。使用 jpa 取 id 为 0 的记录进行更新时会报 Duplicate entry '0' for key 'PRIMARY',更新其他记录就没有任何问题。
更新的语句大概是这样的:
service 是这么写的:
dao 是这样的:
这是数据库表结构:
这是那条会报错的 id 为 0 的记录
谷歌百度找了半天没找到解决方法,也不知道为么会报主键重复冲突,我明明只是进行更新操作,不是进行插入操作。我把 id 为 0 的记录删掉或者把它的 id 改为一个非零的其他值,程序便不会报错误。
很是不能理解,是不是更新方法写的有问题?求指点,谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.