近日一直在折騰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了!