我将用户“ root”连接到我的数据库“测试”上,该测试是我本地托管的用于开发的。除其他外,我有“评分”。由于某种原因,当我单击表“评分”时,phpmyadmin向我显示以下错误:

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'

我用Google找到了以下内容

"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."

但是我仍然不太明白这个错误!我使用一个主键,该键在我的所有桌子上自动提示,因此表实际上不应该有问题。我还有另一个名为“评分”的表,上面有“评论”列。难道这会导致问题吗?

有帮助吗?

解决方案

快速解决:

REPAIR TABLE `phpmyadmin`.`pma_history`

如果失败,我只会截断/清空表。

TRUNCATE TABLE `phpmyadmin`.`pma_history`

尽管PhpMyAdmin在我的工具箱中有位置,但我个人不使用它的内部数据库。

附录

Myisam桌子很容易被损坏。几个通常会击中我的原因:如果MySQL未正确关闭,或者表具有FullText索引,并且磁盘上的停车文件已更改。

简而言之, REPAIR 只需检查数据文件是否错误(并根据您的选项,使其再次可用)并重写索引文件。公平警告:使用Myisam,修理桌子通常可以在该表中烤出您的所有数据 usable. 。看 Doc 更多细节。

与此PMA表损坏有关的Google搜索使我进入 .

其他提示

这似乎是一个内部错误。您已经发布了此查询:

SELECT * FROM `ratingcomment`

PHPMYADMIN试图在其内部事件日志中编写此类操作,并且失败。如果您搜索了 pma_history 您会发现对该表被损坏的几个引用。

我的建议是,您可以找到另一个SQL客户端(例如HeidisQL),并尝试修复PhpMyAdmin数据库。

我知道这有点晚了,但是我遇到了同样的问题,并想分享我的所作所为。

在phpmyadmin中,我转到了表的操作选项卡,只是在表选项下增加了auto_increment值,并插入了虚拟记录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top