“Duplicate entry 'xxxxxx' for key 1”问题解决

[ 2011-04-09 14:24:30 | 作者: admin ]
字号: | |
Mysql进行数据备份,还原后进行回帖,出现以下错误代码:
Discuz! info: MySQL Query Error

User: webcull
Time: 2008-7-10 2:20pm
Script. /post.php

SQL: INSERT INTO [Table]posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment)
VALUES ('45', '2727', '0', 'webcull', '6', '', '1216707030', 'ddd', '192.168.253.1', '0', '0', '0', '0', '-1', '-1', '', '0')
Error: Duplicate entry '2678' for key 1
Errno.: 1062


网上搜索分析原因:
可能是字段pid为primary key且auto_increment属性,不能出现重复值。
而我在备份数据时,可能有数据写入破坏了数据表。


尝试了一些方法:
1、数据表部分字段属性丢失 ALTER TABLE `cdb_posts` CHANGE `pid` `pid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
2、repair table cdb_posts
均失败!


最后的解决方法:
一般是因为数据表文件损害导致,可用MySQL的修复工具myisamchk 工具修复。
cmd
myisamchk cdb_posts.myi -r
修复数据表就OK了!
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1660

这篇日志没有评论。

此日志不可发表评论。