【问题标题】:phpMyAdmin: MySQL Error 1062 - Duplicate entryphpMyAdmin:MySQL 错误 1062 - 重复条目
【发布时间】:2011-05-19 06:38:11
【问题描述】:

我将用户“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”的表,其中有一列“comment”。会不会,这会导致问题?

【问题讨论】:

  • 表的主要是什么?使用主键 838 查询记录,并查看将值与您尝试INSERT 的值进行比较。

标签: mysql phpmyadmin corruption mysql-error-1062 duplicates


【解决方案1】:

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

SELECT * FROM `ratingcomment`

phpMyAdmin 尝试在其内部事件日志中写入此类操作,但失败了。如果您用 Google 搜索 pma_history,您会发现对此类表的多个引用已损坏。

我的建议是你找到另一个 SQL 客户端(例如 HeidiSQL)并尝试修复 phpMyAdmin 数据库。

【讨论】:

  • 考虑到我基本上说的和接受的答案一样,我希望能得到一些关于否决票的反馈。
  • 这是正确的,因为我这边发生的事情是我们的 MySQL 数据库崩溃了什么的,所以可能是表损坏了。
【解决方案2】:

快速修复:

REPAIR TABLE `phpmyadmin`.`pma_history`

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

TRUNCATE TABLE `phpmyadmin`.`pma_history`

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

附录

MyISAM 表很容易损坏。有几个原因通常会打击我:如果 MySQL 没有正确关闭,或者表有 FULLTEXT 索引并且磁盘上的停用词文件已更改。

简单地说,REPAIR 只是检查数据文件是否有错误(并根据您的选择,使其再次可用)并重写索引文件。公平警告:使用 MyISAM,修复表通常可以将表中的所有数据烤成 usable。详情请见doc

与此 pma 表损坏有关的 google 搜索将我引导至 this

【讨论】:

  • 感谢:修复表成功!但是我不太明白发生了什么,为什么我需要修理桌子,修理桌子实际上是做什么的!我将不胜感激一个简短的描述和/或一些解释问题的链接。
【解决方案3】:

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

在 PhpMyAdmin 中,我转到表的操作选项卡,并在表选项下增加 AUTO_INCREMENT 值并插入一个虚拟记录。

【讨论】:

    猜你喜欢
    • 2017-11-28
    • 2019-01-21
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 2014-02-02
    • 1970-01-01
    • 2016-06-26
    相关资源
    最近更新 更多