Condividi
Uncaught mysqli_sql_exception: Table is marked as crashed and should be repaired
All'improvviso ricevo questo messaggio di "Fatal Error" all'apertura di un applicativo basato su database MySql su una specifica tabella che dice che è crashata, l'eccezione riporta il seguente messaggio:
"Fatal error: Uncaught mysqli_sql_exception: Table 'table_name' is marked as crashed and should be repaired in"
Non capisco come si sia potuto verificare questo crash, funzionava tutto alla perfezione e non ci sono stati interventi particolari o modifiche sulla tabella, cosa significa e come posso risolvere?
In Corso
3
MySql
10-11-2024
1 Risposta
20 Visite
0
Risposte ( 1 approvate )
Non bisogna stupirsi di ricevere il seguente messaggio di errore:
"Fatal error: Uncaught mysqli_sql_exception: Table 'table_name' is marked as crashed and should be repaired in"
Esso indica che la tabella (che è pur sempre un file fisico residente su file system) per un qualche motivo diciamo si è "danneggiata", probabilmente qualche byte corrotto o qualche errore di scrittura.
I motivi per cui si verifica un "crash" di una tabella possono essere diversi, possiamo ipotizzare i più probabili quali errori di scrittura lettura, sovraccarico di dati e/o query, mancanza di spazio sull'hard disk.
Risolvere il crash di una tabella MySql tuttavvia nella stragrande maggioranza dei casi è un'operazione molto semplice, basta fare un REPAIR della tabella, questo può essere fatto agevolmente in due modi:
Questo nella stragrande maggioranza dei casi basta per risolvere (fix) l'eccezzione "Fatal error: Uncaught mysqli_sql_exception: Table 'table_name' is marked as crashed and should be repaired in", se però così non vi si riesce, allora il crash è ben più grave (non parliamo di qualche byte/bit corrotto), e quasi certamente si è obbligati a ripristinare la tabella da qualche copia di backup (auspicando sempre che questo sia stato fatto).