首页 > 数据库 > MySQL > 正文

mysql 出现Error: Duplicate entry “xxxx” for key 1解决办法

2024-07-24 12:38:58
字体:
来源:转载
供稿:网友

本文章分享一篇关于mysql 出现Error:Duplicate entry xxxx for key 1解决办法,有需要了解的朋友可以参考一下.

所出错形式如下:

  1. Discuz! info: MySQL Query Error 
  2.  
  3. User: 爱我荆门 
  4. Time: 2007-3-5 11:00am 
  5. Script: /bbs/post.php 
  6.  
  7. SQL: INSERT INTO cd12sb_threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, blog, special, attachment, subscribed, moderated, supe_pushstatus) 
  8. VALUES ('64''0''0''0''0''爱我荆门''5''fg''1173063640''1173063640''爱我荆门''0''0''0''0''0''0''0''0'--Vevb.com 
  9. Error: Duplicate entry '8181' for key 1 
  10. Errno.: 1062 
  11.  
  12. Similar error report has beed dispatched to administrator before. 

之后打开了MYSQL手册找到了TINYINT和SMALLINT和INT类型的说明:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

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

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

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

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

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

INT[(M)] [UNSIGNED] [ZEROFILL]

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

INTEGER[(M)] [UNSIGNED] [ZEROFILL]

这是INT的一个同义词。

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 18446744073709551615。

原来如此,那网上其它的Invalid Query : Duplicate entry ‘32767′ for key 1出错的原因也在于此了.

现在找到办法了,升级数据库:

  1. ALTER TABLE `cdb_posts` CHANGE `pid` `pid` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' AUTO_INCREMENT;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表