phpmyadmin:mysql错误1062-重复条目
-
30-09-2019 - |
题
我将用户“ 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值,并插入了虚拟记录。
不隶属于 StackOverflow