Domanda

mi connetto con l'utente "root" sul mio database "test", che ho ospite a livello locale per lo sviluppo. Tra gli altri ho la tabella "ratingcomment". Per qualche ragione quando clicco sul tavolo "ratingcomment" mostra phpMyAdmin me il seguente errore:

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'

ho usato google per finde il seguente

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

Ma io continuo Non capisco l'errore! Io uso una chiave primaria, che automaticamente incrementi per tutti i miei tavoli, quindi non c'è davvero sognerei essere un problema con il tavolo. Ho avuto un altro tabella denominata "rating" che aveva una colonna "commento". Può essere, che questo causa problemi?

È stato utile?

Soluzione

correzione rapida:

REPAIR TABLE `phpmyadmin`.`pma_history`

Se non funziona, avevo appena troncare / svuotare il tavolo.

TRUNCATE TABLE `phpmyadmin`.`pma_history`

Anche se phpMyAdmin ha il posto nella mia cassetta degli attrezzi, io personalmente non lo uso è db interno.

APPENDICE

tabelle MyISAM possono facilmente essere danneggiati. Un paio di cause che di solito mi hanno colpito: se il MySQL non è l'arresto correttamente, o se la tabella ha un indice FULLTEXT e aveva cambiato il file stopword su disco.

In parole povere, il REPAIR appena controllate dopo il file di dati per gli errori (e seconda delle opzioni, lo rende utilizzabile di nuovo) e riscrive il file di indice. Fair Warning: con MyISAM, la riparazione di una tabella può spesso brindisi tutti i dati in quella tabella per renderlo usable. Vedere doc per ulteriori dettagli.

una ricerca su Google relative a questa tabella PMA essendo piombo danneggiato me questo .

Altri suggerimenti

Questo sembra essere un errore interno. Hai rilasciato questa query:

SELECT * FROM `ratingcomment`

phpMyAdmin tenta di scrivere tale azione nel suo registro eventi interno e non riesce. Se Google per pma_history si trovano molti riferimenti a tale tabella corrompe.

Il mio consiglio è che trovare un altro client SQL (come HeidiSQL) e tenta di ripristinare il database phpMyAdmin.

So che questo è un pò in ritardo ma ho avuto lo stesso problema e ha voluto condividere quello che ho fatto.

In PhpMyAdmin, sono andato a scheda Operazione della tabella, e solo incrementato il valore AUTO_INCREMENT in Opzioni tabella e inserito un record fittizio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top