近日一直在折騰vps ,剛剛碰到在搬移wordpress過程中導入數據庫的時候。碰到了
#1062 – Duplicate entry '1′ for key ‘PRIMARY'
當時那個急啊,原本的數據我已經全部刪除了,沒辦法只有請求萬能的百度了。我找了大半天終於給我給我找到了。興奮ing,馬上測試,O(∩_∩)O哈哈~成功了。
現在附上解決辦法只要把原來的老數據清空導入就可以了。
原理我不明白,貼上來你們自己看吧。反正達到目的就ok了、
“提示#1062 – Duplicate entry '1′ for key ‘PRIMARY'了,後來才知道,原來上次超過限制的已經導進去了一部分,而id是主鍵,不能相同的,所以就不行了,把老的數據都刪除,就可以重新導了。”
在此還要感謝那位博主,把解決辦法發表了出來。要不然我可就麻煩了。
原文
今天遇到的問題,很簡單,但也很常見,做個記錄在此:
把數據從一個機器上導到另外一個機器上,因此記錄太多,剛開始沒注意,超過了phpmyadmin的限制,提示出錯了,我把文件手動的給分成一些小文件,可是再導就提示#1062 - Duplicate entry '1' for key 'PRIMARY'了,後來才知道,原來上次超過限制的已經導進去了一部分,而id是主鍵,不能相同的,所以就不行了,把老的數據都刪除,就可以重新導了。
好了。你要是也碰到了跟我一樣的問題,馬上試試吧。不試不知道啊
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了!