我将用户“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'
我使用谷歌找出以下内容
"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”的表,其中有一个“评论”列.这可能会导致问题吗?
解决方法:
快速解决:
REPAIR TABLE `phpmyadmin`.`pma_history`
如果失败,我只是截断/清空表.
TRUNCATE TABLE `phpmyadmin`.`pma_history`
尽管phpmyadmin在我的工具箱中占有一席之地,但我个人并不使用它的内部数据库.
附录
MyISAM表很容易被破坏.一对夫妇经常打我:如果MySQL没有正确关闭,或者表有一个FULLTEXT索引并且磁盘上的停用词文件已经改变.
简单地说,REPAIR只检查数据文件中的错误(并根据您的选项,使其再次可用)并重写索引文件.公平警告:使用MyISAM,修复表通常可以覆盖该表中的所有数据以使其可用.有关详细信息,请参见doc.
关于此pma表被破坏的谷歌搜索引导我到this.