大牛?无他,唯手熟尔!

mysql的表设置了主键自增,插入数据时报主键冲突

摘要:最近在做一个项目,使用的是mysql数据库,其中有一张表的主键设置了int类型,自增。但是往表中插入数据时却经常报主键冲突错误。

本文由草根java提供,转载请注明出处https://www.caogenjava.com/detail/2.html

    最近在做一个项目,使用的是mysql数据库,其中有一张表的主键设置了int类型,自增。但是往表中插入数据时却经常报主键冲突错误。

    咦?这是什么问题,主键设置自增了怎么还报主键冲突呢?难道人品暴跌了?

    检查了一下自己的代码,没有发现问题。主键是自增的,插入数据时根本没有指定主键的值,那又怎么会冲突呢?

    思路一转,上网查询了一下,唉?发现问题了,原来这是mysql的一个bug,之前只知道mysql存在bug,但是没想到在处理主键上也存在问题。已经有朋友将这个bug报告给了mysql社区,详情请见

http://bugs.mysql.com/bug.php?id=73563

    根据上面链接的说明,存在这个问题的mysql版本有5.5.18 ,5.6.16, 5.6.21。我使用的版本是5.6.19,就是说至少这四个版本存在此类问题。

    如何解决呢?

    1.使用没有这个bug的mysql,惹不起还躲不起吗。

    2.别自增了,插入数据时指定一个主键吧,这样的话这个bug就可以忽略了,你也不用换数据库了。

    

 

双11云服务器热购推广(腾讯云):2核+4G内存+3M带宽=688元/3年(仅限新用户)

除非注明,文章均为草根java原创,转载请注明本文地址: https://www.caogenjava.com/detail/2.html

上一篇:让windows server 2008桌面上显示“计算机”、“网上邻居”等图标        下一篇:如何复制cmd命令窗口中的内容
网友评论,共0 发表评论
昵称:
评论:
验证码: 刷新验证码
双11云服务器热购
    购买建议:带宽不用太高了,1M就够用,多考虑内存。