MySQL Codice errore 1064: errore di sintassi


Esempio

select LastName, FirstName,
from Person

Restituisce il messaggio:

Codice di errore: 1064. Si è verificato un errore nella sintassi SQL; controlla il manuale che corrisponde alla tua versione del server MySQL per la sintassi corretta da usare vicino a 'da Persona' alla riga 2.

Ottenere un messaggio "1064 error" da MySQL significa che la query non può essere analizzata senza errori di sintassi. In altre parole, non può dare un senso alla query.

La citazione nel messaggio di errore inizia con il primo carattere della query che MySQL non riesce a capire come analizzare. In questo esempio MySQL non ha senso, nel contesto, di from Person . In questo caso, c'è una virgola extra immediatamente prima from Person . La virgola indica a MySQL di aspettarsi un'altra descrizione di colonna nella clausola SELECT

Un errore di sintassi dice sempre ... near '...' . La cosa all'inizio delle virgolette è molto vicina a dove si trova l'errore. Per individuare un errore, guarda il primo token tra virgolette e all'ultimo token prima delle virgolette.

A volte avrai ... near '' ; cioè, niente tra virgolette. Ciò significa che il primo carattere che MySQL non riesce a capire è proprio alla fine o all'inizio della dichiarazione. Ciò suggerisce che la query contiene virgolette non bilanciate ( ' o " ) o parentesi non bilanciate o che non hai terminato correttamente la dichiarazione.

Nel caso di una Stored Routine, potresti aver dimenticato di usare correttamente DELIMITER .

Quindi, quando ottieni l'errore 1064, guarda il testo della query e trova il punto menzionato nel messaggio di errore. Controlla visivamente il testo della query proprio intorno a quel punto.

Se chiedi a qualcuno di aiutarti a risolvere l'errore 1064, è meglio fornire sia il testo dell'intera query sia il testo del messaggio di errore.