español - phpMyAdmin: MySQL Error 1062-Entrada duplicada
phpmyadmin error 2002 (3)
Me conecto con el usuario "root" en mi "prueba" de base de datos que recibo localmente para el desarrollo. Entre otros, tengo la mesa "ratingcomment". Por alguna razón, cuando hago clic en la tabla "ratingcomment", phpMyAdmin me muestra el siguiente error:
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''
Usé google para encontrar el siguiente
"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."
¡Pero todavía no entiendo el error! Utilizo una clave principal, que se incrementa automáticamente para todas mis tablas, por lo que realmente no debería haber un problema con la tabla. Tenía otra tabla llamada "calificación" que tenía una columna "comentario". ¿Puede ser que esto cause problemas?
Arreglo rapido:
REPAIR TABLE `phpmyadmin`.`pma_history`
Si eso falla, simplemente truncaría / vaciaría la mesa.
TRUNCATE TABLE `phpmyadmin`.`pma_history`
Aunque phpmyadmin tiene su lugar en mi caja de herramientas, personalmente no uso su db interno.
APÉNDICE
Las tablas MyISAM pueden dañarse fácilmente. Un par de causas suelen afectarme: si el MySQL no se apaga correctamente, o si la tabla tiene un índice FULLTEXT y el archivo de palabras prohibidas en el disco ha cambiado.
En pocas palabras, la REPAIR
simplemente comprueba si hay errores en el archivo de datos (y dependiendo de sus opciones, lo hace utilizable de nuevo) y reescribe el archivo de índice. Advertencia justa: con MyISAM, reparar una tabla a menudo puede brindar todos sus datos en esa tabla para que se usable
. Ver documento para más detalles.
Una búsqueda en google perteneciente a esta tabla pma está dañado me llevan a esto .
Esto parece ser un error interno. Usted ha emitido esta consulta:
SELECT * FROM `ratingcomment`
phpMyAdmin intenta escribir dicha acción en su registro interno de eventos y falla. Si busca en Google pma_history
, encontrará varias referencias a que dicha tabla está dañada.
Mi consejo es que encuentres otro cliente SQL (como HeidiSQL) y trates de reparar la base de datos phpMyAdmin.
Sé que esto es un poco tarde pero tuve el mismo problema y quería compartir lo que hice.
En PhpMyAdmin, fui a la pestaña Operación de la tabla, y simplemente incrementé el valor de AUTO_INCREMENT en Opciones de tabla e inserté un registro ficticio.