Frage

Ich verbinde mit Benutzer „root“ auf meine Datenbank „Test“, die ich Host lokal für die Entwicklung. Unter anderem habe ich die Tabelle „ratingcomment“. Aus irgendeinem Grund, wenn ich auf den Tisch „ratingcomment“ phpMyAdmin zeigt mir folgende Fehlermeldung:

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'

habe ich google die folgende

finde heraus
"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."

Aber ich immer noch nicht verstehen durchaus den Fehler! Ich benutze einen Primärschlüssel, die auto-Schritte für all meine Tabellen, so dass es soll nicht wirklich ein Problem mit der Tabelle sein. Ich hatte eine andere Tabelle „Bewertung“ genannt, die eine Spalte „Kommentar“ hatte. Kann es, dass diese Ursachen Probleme sein?

War es hilfreich?

Lösung

Quick Fix:

REPAIR TABLE `phpmyadmin`.`pma_history`

Wenn das nicht funktioniert, würde ich nur truncate / leeren die Tabelle.

TRUNCATE TABLE `phpmyadmin`.`pma_history`

Obwohl phpmyadmin es Platz in meinem Werkzeugkasten hat, ich persönlich nicht verwenden es interne db.

NACHTRAG

MyISAM-Tabellen können leicht beschädigt werden. Ein paar Gründe, die mich in der Regel getroffen: Wenn die MySQL nicht ordnungsgemäß heruntergefahren wird, oder wenn die Tabelle einen Volltextindex und die Stoppwortdatei auf der Festplatte hat hatte sich verändert.

Einfach gesagt, die REPAIR checkes nur die Datendatei auf Fehler (und je nach Optionen, macht es verwendbar wieder) und schreibt die Index-Datei. Eine Warnung: mit MyISAM, kann in dieser Tabelle Toast alle Ihre Daten oft eine Tabelle zu reparieren, um es usable. Siehe doc für weitere Details.

Eine Google auf diese pma Tabelle Suche in Bezug beschädigte Leitung mir zu sein, um diesem .

Andere Tipps

Dies scheint ein interner Fehler zu sein. Sie haben diese Abfrage ausgegeben:

SELECT * FROM `ratingcomment`

versucht phpMyAdmin eine solche Maßnahme in seinem internen Ereignisprotokoll zu schreiben und es funktioniert nicht. Wenn Sie Google für pma_history werden Sie mehrere Verweise auf solche Tabelle ist beschädigt finden.

Mein Rat ist, dass Sie einen anderen SQL-Client (wie HeidiSQL) zu finden und versuchen, die phpMyAdmin Datenbank zu reparieren.

Ich weiß, das ein bisschen spät, aber ich hatte das gleiche Problem und wollte teilen, was ich getan habe.

phpMyAdmin, ging ich auf die Registerkarte Operation der Tabelle und nur den AUTO_INCREMENT Wert unter Tabelle Optionen erhöht und einen Dummy-Datensatz eingefügt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top