数据库报duplicate XXX entry for key primary错误的可能原因以及解决方法
今天在使用数据库的过程中,发现一直报duplicate entry for key primary的错误,如下图所示:
这个问题直译过来就是主键设置重复,或者说是主键冲突,因为第一次碰到这样的问题,有些不明所以,就在网上查了一些资料,发现了这么一篇文章 ======> 这是文章链接
其中说到这种情况的可能原因有两种:
- 主键没有设置自增
- 插入线程频率较高,没有处理好事务,造成插入sql执行顺序混乱
该文章中也给予了对应的解决方案,可以参考。
不过这篇文章中所说到的情况并不适应于我今天遇到的问题,不过给了我一点启发,在查看数据库定义的过程中,发现id的类型是int(11),然后我就查了一下int(11)所能表示的最大值,然后找到了这个:
参考链接
然后我查看了一下数据库的条目个数,发现已经到达了2147483647,如下图所示:
这一下就找到了问题所在,这张表格里面能够存放的条目个数已经达到了最大值,此时id无法继续增加,这就导致默认还会使用2147483647这个id,这就造成了主键冲突。
解决方法就是将这个id的类型从int变成了bigint。
CREATE TABLE IF NOT EXISTS xxxxxxxxxxxx
(id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, #主键......
);
主键冲突其他参考链接
数据库长度其他参考链接
int、bigint参考率链接
数据库报duplicate XXX entry for key primary错误的可能原因以及解决方法相关推荐
- 关于报错 xxx 不在 request 以下合法域名列表中的解决方法
终于发布了第一个小程序,然而一上来就报错 于是谷歌百度了好多解决方案,发现这是个很常见的微信小程序问题.出现这种情况是因为我们没有把要请求的域名添加到公众平台开发设置里的服务器域名那儿. 如上图所示, ...
- Python中使用pandas报错“module 'pandas' has no attribute 'ewma'”,问题原因及解决方法
系统报错:module 'pandas' has no attribute 'ewma' 报错语句:pd.ewma(stock_data['close'], span=ma) 解决方式:将语句改为pd ...
- Cadence PSpice 疑难2:报错ERROR(ORPSIM-15660): These devices failed to converge的原因与解决方法
⏪<上一篇>
- IIS FTP部分文件上传报错451的原因及解决方法
最近部署一个基于IIS7的ftp服务器,测试传几个文件遇到问题了,部分文件可以正常上传,但部分报错.下面与大家分享下造成的原因及解决方法 最近部署一个基于IIS7的ftp服务器,添加一个组的用户具有上 ...
- java向数据库插入数据时的错误: Duplicate entry ‘‘ for key ‘PRIMARY‘ 问题解决
java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决 参考文章: (1)java向数据库插入数据时的错误: Duplicate ent ...
- linux 安装rpm no key,yum 安装报 关于Public key for *.rpm is not installed 的解决方法
yum 安装报 关于Public key for *.rpm is not installed 的解决方法 发布时间:2012-10-24 19:52:13来源:红联作者:静静飞舞 [root@0fl ...
- SQLServer “无法对数据库‘XXX‘ 执行删除,因为它正用于复制”的解决方法
SQLServer "无法对数据库'XXX' 执行删除,因为它正用于复制"的解决方法 参考文章: (1)SQLServer "无法对数据库'XXX' 执行删除,因为它正用 ...
- nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法 参考文章: (1 ...
- 数据库建表时, 没有成功创建表 No migrations to apply报错原因和解决方法
一.在cmd中执行执行python manage.py makemigrations可以顺利创建0001_initial.py文件,但继续执行python manage.py migrate时出现No ...
- Error【1146】:Table 'xxx.xxx' doesn't exist问题原因及解决方法
前言 我们在使用mysql数据库的时候,有时会因为各种误操作而导致各种问题.下面介绍的导致1146报错的原因及解决方法. 原因 由报错Table 'xxx.xxxxx' doesn't exist可知 ...
最新文章
- (转载)人人都会OSGI--实例讲解OSGI开发
- adb查看app的日志
- java递归整数逆序,将一个整数逆序输出,分别给出递归和非递归算法 | 学步园...
- 三剑客之sed常用操作
- linux的shell脚本if语句,Shell脚本编程之判断语句
- 《C程序设计新思维》一6.3 不使用malloc的指针
- MySQL 基准测试(sysbench)工具安装时提示 automake 1.10.x (aclocal) wasn‘t found, exiting
- gatewayfilter详解_Spring Cloud Gateway 之 Filter
- CentOS7学习笔记--PHP环境安装
- 方法冲突_化解冲突,要避免用这 2 种方法
- android sdk集合 下载,Android SDK下载列表(含海内下载)-下
- 华容道6×6图解_华容道(带图解)
- 【全志A64/R18】Android平台获取Chip ID
- ArcGIS Server Image 扩展模块
- 单片机C语言code关键字
- unison与fswatch文件同步
- element-ui MessageBox弹框确定和取消位置(this.$confirm)
- 尺子英语怎么读计算机英语怎么读,尺子的英文是什么用英语怎么说
- 室友利用一把王者的时间就学会了【C语言结构体内存对齐】
- 从飞思卡尔到NXP,经久不衰的i.MX系列产品背后的“成功学”