Mymps error: Duplicate entry '32767' for key 'PRIMARY'报错怎么办

Mymps error: Duplicate entry '32767' for key 'PRIMARY' 
error number: 1062 
Date: 2018-11-29 @ 23:31 
Script: http://zanqu.net/publish.php?action=input 

网站运营中突然报错,经常有群友碰到这种问题。

首先碰到这种问题,通常有两种情况;

一、网站运营很长时间了

二、大量采集信息

那么这是什么情况呢?

其实,是数据库出了问题,我们来看看

Mymps error: Duplicate entry '32767' for key 'PRIMARY'报错怎么办

首先我们看下信息表my_information的id字段类型smallint,那么这就很清楚了是ID自增到了极限。

那么有的朋友可能纳闷,我们先看下MYSQL手册关于TINYINT和SMALLINT和INT类型的说明: 

TINYINT 一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255 

SMALLINT 一个小整数。有符号的范围是-3276832767,无符号的范围是0到65535 

MEDIUMINT一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215

 INT一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。

 看到这里就应该明白信息太多了,已经超出Smallint的范围就会报错。

 

解决方法: 编辑my_information表ID字段类型改为Int ,如果信息量很大也可以修改下长度。

比如我修改的 int(10),信息再大不怕。

Mymps error: Duplicate entry '32767' for key 'PRIMARY'报错怎么办

好了,就OK了!