我将用户“root”连接到我的数据库“test”,我在本地托管以进行开发。其中我有“ratingcomment”表。出于某种原因,当我点击“ratingcomment”表时,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."
但我还是不太明白这个错误!我使用主键,它为我的所有表自动递增,所以实际上表不存在问题。我有另一个名为“rating”的表,其中有一个“评论”列。可能,这会导致问题吗?
答案 0 :(得分:7)
快速修复:
REPAIR TABLE `phpmyadmin`.`pma_history`
如果失败,我只会截断/清空表格。
TRUNCATE TABLE `phpmyadmin`.`pma_history`
尽管phpmyadmin在我的工具箱中占有一席之地,但我个人并不使用它的内部数据库。
<强>附录强>
MyISAM表很容易被破坏。一对夫妇经常打我:如果MySQL没有正确关闭,或者表有一个FULLTEXT索引并且磁盘上的停用词文件已经改变。
简单地说,REPAIR
只检查数据文件中的错误(并根据您的选项,使其再次可用)并重写索引文件。公平警告:使用MyISAM,修复表格通常可以覆盖该表格中的所有数据,使其成为usable
。有关详细信息,请参阅doc。
与此pma表格相关的谷歌搜索已损坏,导致我this。
答案 1 :(得分:0)
这似乎是内部错误。您已发出此查询:
SELECT * FROM `ratingcomment`
phpMyAdmin尝试在其内部事件日志中编写此类操作,但失败。如果您使用Google pma_history
,则会发现此类表的多个引用已损坏。
我的建议是你找到另一个SQL客户端(例如HeidiSQL)并尝试修复phpMyAdmin数据库。
答案 2 :(得分:0)
我知道这有点晚了,但我遇到了同样的问题,想分享我的所作所为。
在PhpMyAdmin中,我进入了表的Operation选项卡,只是增加了Table选项下的AUTO_INCREMENT值并插入了一个虚拟记录。