Se avete usato WordPress per un po’ di tempo, potreste aver deciso di passare a una gestione più avanzata del database. Ciò comporta spesso l’utilizzo della riga di comando MySQL, che a sua volta può portare a problemi come quelli generati dagli errori 1064 di MySQL.

Per fortuna, se all’inizio questo errore può creare confusione a causa delle sue tante possibili cause, dall’altro le soluzioni tendono ad essere relativamente semplici. Una volta individuato il motivo dell’errore del database, dovreste essere in grado di correggerlo abbastanza in fretta.

In questo articolo analizzeremo le varie possibili cause dell’errore 1064 di MySQL e condivideremo con voi le soluzioni per le situazioni più frequenti, per aiutarvi a far rimettere in funzione il vostro database e il vostro sito.

Cominciamo!

Perché si Verifica l’errore MySQL 1064

L’errore MySQL 1064 è un errore di sintassi. Questo significa che il problema è che MySQL non capisce cosa gli si chiede di fare. Tuttavia, ci sono molte cause che possono portare a questa cattiva comunicazione tra voi e il vostro database.

La causa più frequente è che avete commesso un errore digitando un comando e MySQL non riesce a comprendere la vostra richiesta. Oppure potreste utilizzare comandi obsoleti che non possono essere letti.

In altri casi, potreste aver tentato di includere una “parola riservata” in uno dei vostri comandi. Le parole riservate sono termini che possono essere utilizzati in MySQL solo in contesti specifici. Se tentate di utilizzarli in altri modi, vi troverete di fronte a un errore.

È anche possibile che manchino alcuni dati dal database. Si vedrà l’errore 1064 anche quando si effettua una richiesta via MySQL che fa riferimento a dati che non sono dove dovrebbero essere. Infine, anche il trasferimento del database di WordPress su un altro server può portare allo stesso problema.

Come si vede, ci sono molte possibili cause di questo problema, e alla fine può essere difficile da risolvere. A meno che non siate in procinto di spostare il vostro database o di intraprendere qualche altra azione che faccia pensare ad una causa specifica, probabilmente dovrete provare diverse soluzioni prima di trovare quella giusta. Per fortuna, nessuna di queste è troppo complessa, come vedremo in seguito.

Come Correggere l’errore MySQL 1064 (5 Metodi)

Se avete già un’idea della causa dell’errore MySQL 1064, potete semplicemente saltare alla soluzione che vi riguarda. Ma se non siete sicuri del motivo dell’errore, la strategia migliore è quella di provare prima la soluzione più semplice.

In questo caso, suggeriamo di testare le cinque soluzioni più probabili nell’ordine che segue.

1. Correggere i Comandi Sbagliati

Gli errori di battitura dei comandi MySQL sono la spiegazione più semplice dei problemi di sintassi come l’errore 1064. Purtroppo, possono anche essere i più noiosi da correggere. In generale, l’opzione migliore è quella di correggere manualmente il codice e cercare eventuali errori.

Suggeriamo di utilizzare il Manuale MySQL come riferimento, ricontrollando tutto ciò di cui non siete sicuri. Come si può immaginare, questo può richiedere molto tempo, soprattutto se non si lavora dalla riga di comando di MySQL da un po’ di tempo o se si è completamente nuovi.

Un’alternativa al controllo manuale del proprio lavoro è l’impiego di uno strumento come EverSQL:

Il syntax checker EverSQL
Il syntax checker EverSQL

Con questa soluzione, potete semplicemente inserire il vostro codice MySQL per verificare automaticamente la presenza di errori. Ma tenete presente che queste piattaforme non sono sempre perfette e potreste comunque dover verificare i risultati da soli.

2. Sostituire i Comandi Obsoleti

Man mano che le piattaforme crescono e cambiano, alcuni comandi in passato utili vengono sostituiti da comandi più efficienti. MySQL non fa eccezione. Se state lavorando sul vostro database in seguito ad un recente aggiornamento o avete fatto riferimento ad una fonte obsoleta durante il vostro lavoro, è possibile che uno o più dei vostri comandi non siano più validi.

È possibile verificare se il problema nasca da qui utilizzando il Manuale di riferimento MySQL. Nelle relative sezioni troverete gli accenni ai comandi che sono stati resi obsoleti in ogni versione di MySQL:

Rimuovere manualmente i comandi obsoleti
Rimuovere manualmente i comandi obsoleti

Una volta stabilito quale sia il comando che probabilmente causa il problema, si può semplicemente usare la funzione “trova e sostituisci” per rimuovere il comando obsoleto e inserirlo nella nuova versione. Per esempio, se si utilizzava storage_engine e si scopre che non funziona più, si potrebbe semplicemente sostituire tutte le istanze con il nuovo comando default_storage_engine.

3. Designazione di Parole Riservate

In MySQL, l’utilizzo di una parola riservata fuori dal contesto comporterà un errore di sintassi, in quanto verrà interpretata come errata. Tuttavia, potete comunque utilizzare le parole riservate in qualsiasi modo vogliate contenendole all’interno di back stick, come questo: 'select'

Ogni versione di MySQL ha le sue parole riservate, che si trovano nel Manuale di riferimento di MySQL. Una rapida ricerca e sostituzione dovrebbe permettervi di risolvere questo problema se pensate possa essere la causa del vostro errore 1064.

4. Aggiungere Dati Mancanti

Se la vostra ultima query MySQL tenta di fare riferimento a informazioni in un database e non riesce a trovarle, ovviamente incontrerete dei problemi. Nel caso in cui nessuna delle soluzioni precedenti risolva l’errore MySQL 1064, potrebbe essere il momento di andare a cercare i dati mancanti.

Purtroppo, questa è un’altra soluzione che può essere abbastanza noiosa e deve essere eseguita a mano. La cosa migliore da fare in questa situazione è lavorare a ritroso, a partire dalla richiesta più recente. Controllate ogni database a cui fa riferimento e assicuratevi che siano presenti le informazioni corrette. Poi passate alla query più recente, fino ad arrivare a quella che manca di qualche dato.

5. Utilizzare la Modalità di Compatibilità per Trasferire i Database WordPress

Questa soluzione finale dell’errore 1064 non è così semplice come le altre presentate nel nostro elenco. Tuttavia, se state migrando il vostro sito WordPress su un nuovo host, oppure lo state spostando su un server diverso, dovrete prendere misure aggiuntive per evitare problemi con il database.

La soluzione più semplice è quella di utilizzare un plugin di migrazione che includa una modalità di compatibilità, come WP Migrate DB:

Il plugin WordPress WP Migrate DB
Il plugin WordPress WP Migrate DB

Questo abiliterà una funzione di auto-rilevazione che farà in modo che l’ultimo backup e il database del sito siano compatibili con più versioni di MySQL. È possibile accedere all’impostazione della modalità di compatibilità in Strumenti > Migrate DB > Advanced Options:

Impostazioni WP Migrate DB
Impostazioni WP Migrate DB

Spuntate la casella accanto a Compatible with older versions of MySQL prima di avviare la migrazione del sito. In questo modo, dovreste evitare qualsiasi problema durante il processo.

Riepilogo

Gli errori del database possono mettere a dura prova i vostri piani e possono anche compromettere la stabilità del vostro sito web. Saper risolvere problemi come l’errore MySQL 1064 può aiutarvi a rispondere prontamente e a ridurre al minimo i tempi di inattività del sito.

Ci sono cinque metodi per cercare di correggere l’errore MySQL 1064, a seconda della causa più probabile:

  1. Correggere i comandi sbagliati.
  2. Sostituire i comandi obsoleti.
  3. Designare parole riservate.
  4. Aggiungere i dati mancanti.
  5. Trasferire il database di WordPress in modalità compatibilità.