异常( Duplicate entry '2147483647' for key 'PRIMARY')

测试环境突然蹦出来个这样的异常,有点怪,查了一下代码,发现新来的一个同学将时间戳(1563954847295)当成id入库,后来他把这条数据删掉了。因为数据库id是int(11)自增,时间戳大于int的最大值(INT -2147483648 2147483647),所以下次每次新增的时候id不能再新增,所以每次都是同一个id-2147483647,

解决方案

重设表的自增值:

alter table tableName AUTO_INCREMENT=500;

也可以备份该表数据,truncate table,然后插入数据,完成,但是这样有个问题,如果表有外键,truncate会报错,数据删不掉。

所以就用重设自增值的方法好了!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 1,906评论 0 10
  • mysql 优化数据库设计 第一范式(1st NF) 第一范式的目标是确保每列的原子性定义:数据库表中的所有字段都...
    xyxSUN阅读 409评论 0 1
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,494评论 0 9
  • 一、数据库简介 1.数据库系统 1.1数据库 DataBase【DB】,指的是长期保存到计算机上的数据,按照一定顺...
    郑元吉阅读 623评论 0 6
  • 为了把孩子教育成一个有担当的人,父母既应该让孩子了解父辈的辛苦,激发孩子的责任意识,同时还要放手让孩子去承...
    我爱无花果阅读 1,266评论 0 0