2010-12-02 106 views
3

我將用戶「root」連接到我本地進行開發的數據庫「test」上。其中我有表「評級評論」。出於某種原因,當我點擊表「ratingcomment」 phpMyAdmin的顯示我下面的錯誤:phpMyAdmin:MySQL錯誤1062 - 重複條目

Fehler 

    SQL-Befehl: 

    INSERT INTO `phpmyadmin`.`pma_history` (

    `username` , 
    `db` , 
    `table` , 
    `timevalue` , 
    `sqlquery` 
    ) 
    VALUES (
    'root', 'test', 'ratingcomment', NOW() , 'SELECT * FROM `ratingcomment`' 
    ) 
    MySQL meldet: 

    #1062 - Duplicate entry '838' for key 'PRIMARY' 

我用谷歌來FINDE了以下

"This indicates that you have a UNIQUE or PRIMARY index on a table, and there is a duplicate value someone on one of the values in one of these indexes." 

但是我還是不太明白的錯誤!我使用一個主鍵,它可以爲我的所有表自動遞增,所以實際上不應該對錶有問題。我有另一個名爲「評級」的表,其中有一列「評論」。這是否會導致問題?

+0

桌子的主要用途是什麼?使用主鍵查詢記錄838並查看將值與您正在嘗試「插入」的值進行比較。 – 2010-12-02 17:18:57

回答

7

快速修復:

REPAIR TABLE `phpmyadmin`.`pma_history` 

如果失敗了,我只是截斷/空表。

TRUNCATE TABLE `phpmyadmin`.`pma_history` 

雖然phpmyadmin在我的工具箱中有它的位置,但我個人不使用它的內部數據庫。

附錄

MyISAM表可以很容易地被破壞。一對夫婦通常會碰到我:如果MySQL沒有正確關閉,或者表中有一個FULLTEXT索引,並且磁盤上的停用詞文件已經改變。

簡單地說,REPAIR只是檢查數據文件的錯誤(並根據您的選項,使其可用),並重寫索引文件。公平警告:使用MyISAM,修復表格可以經常烘烤表格中的所有數據,使其成爲usable。有關更多詳細信息,請參閱doc

有關此pma表被損壞的谷歌搜索導致我this

0

這似乎是一個內部錯誤。您已發出此查詢:

SELECT * FROM `ratingcomment` 

phpMyAdmin會嘗試在其內部事件日誌中寫入此類操作並且失敗。如果你的谷歌爲pma_history你會發現這樣的表被損壞的幾個引用。

我的建議是你找到另一個SQL客戶端(如HeidiSQL)並嘗試修復phpMyAdmin數據庫。

+1

我很感激關於downvote的一些反饋,考慮到我基本上和接受的答案一樣。 – 2010-12-04 10:46:59

+0

這是正確的,因爲發生在我的最後是我們的MySQL數據庫崩潰或什麼,所以它可能是表損壞。 – 2013-01-15 14:43:41

0

我知道這有點晚了,但我有同樣的問題,並想分享我做了什麼。

在PhpMyAdmin中,我去了表格的操作選項卡,只是增加了表選項下的AUTO_INCREMENT值並插入了一個虛擬記錄。

相關問題