SQL-Fehler 1064: Ein Leitfaden für Anfänger zur Behebung des Fehlers
Dieses Tutorial behandelt die folgenden Themen:
Haben Sie jemals einen SQL-Fehler 1064 festgestellt, als Sie versuchten, eine Abfrage auszuführen? Es kann frustrierend sein, aber keine Sorge – Sie sind nicht allein. Diese Fehlermeldung kennzeichnet normalerweise einen Syntaxfehler in Ihrer MySQL-Abfrage.
Glücklicherweise gibt es nur eine Handvoll Probleme, die diesen Fehler auslösen. Sie können sie effizient mit ein wenig Beharrlichkeit und der richtigen Anleitung lösen. In diesem Artikel werden wir erklären, was SQL Error 1064 ist, was es verursacht und wie man es beheben kann. Außerdem lernen Sie drei Tipps, um es in Zukunft zu vermeiden.
Was ist SQL-Fehler 1064?
SQL (Structured Query Language) ist eine Programmiersprache, die relationale Datenbanken verwaltet und manipuliert. Obwohl mächtig, ist es auch komplex und anfällig für Fehler. Einer der häufigsten Fehler, auf die Benutzer stoßen, ist der MySQL-Fehlercode 1064.
SQL-Fehlercode 1064 steht für einen SQL-Syntaxfehler. Das bedeutet, dass die von Ihnen geschriebene SQL-Abfrage ungültig ist, weil sie einen Fehler in der Syntax enthält. Mit anderen Worten, MySQL versteht Ihre Anfrage nicht und gibt als Antwort den Fehler zurück.
Sie werden wahrscheinlich den SQL-Fehlercode 1064 in einem Datenbankverwaltungstool wie phpMyAdmin oder MySQL Workbench. SiteGround Benutzer haben phpMyAdmin zur Verfügung in Site Tools > Site > MySQL > PHPMYADMIN > Auf phpMyAdmin zugreifen.
Unten sehen Sie einen Screenshot von phpMyAdmin, der den Fehler erzeugt.
Es gibt mehrere Varianten der Fehlermeldung:
- Fehler 1064 (42000) – Sie haben einen Fehler in Ihrer SQL-Syntax
- #1064 – Sie haben einen Fehler in Ihrer SQL-Syntax
Diese Fehlermeldung sieht entmutigend aus, besonders wenn Sie neu in SQL sind. Es ist jedoch wichtig, sich daran zu erinnern, dass Syntaxfehler häufig sind, und mit etwas Übung können Sie lernen, sie zu vermeiden.
SQL-Syntax verstehen
Die SQL-Syntax ist ein wichtiger Aspekt der Datenbankverwaltung. Sie können mit korrekt strukturierten SQL-Befehlen Daten aus Datenbanken erstellen, ändern und abrufen.
Die SQL-Syntax ist ein Satz von Regeln, die die Struktur von Befehlen bestimmen, die verwendet werden, um mit einer Datenbank zu interagieren. SQL-Befehle enthalten die folgenden Elemente:
- Operatoren,
- Klauseln,
- Ausdrücke,
- Schlüsselwörter.
Die SQL-Syntax ähnelt der vieler anderer Programmiersprachen. Während SQL-Schlüsselwörter nicht zwischen Groß- und Kleinschreibung unterscheiden, ist es üblich, sie in Großbuchstaben zu schreiben. SQL-Anweisungen werden normalerweise durch Semikolons getrennt.
Sich mit dem MySQL Referenzhandbuch vertraut zu machen, ist wichtig für die Arbeit mit einer MySQL Datenbank. Sie erhalten ein besseres Verständnis der Syntax, was Ihnen wiederum hilft, Syntaxfehler in SQL-Abfragen zu vermeiden.
Was verursacht den SQL-Fehler 1064?
Wie die Beschreibung vermuten lässt, ist der Hauptgrund für den SQL-Fehler 1064 ein Syntaxfehler in Ihrem Befehl. Der Fehler kann jedoch auch durch andere Probleme ausgelöst werden. Nachfolgend finden Sie eine Liste der häufigsten.
- Syntaxfehler – Die häufigste Ursache für den SQL-Fehler 1064. Syntaxfehler treten auf, wenn die SQL-Anweisung falsch geschrieben ist oder gegen die etablierten Syntaxregeln verstößt.
- Veraltete Befehle – Verwendung veralteter und veralteter Befehle oder Befehle, die in der aktuellen Version von SQL nicht mehr unterstützt werden.
- Reservierte Wörter außerhalb des Kontexts verwenden – Reservierte Wörter sind Wörter, die bereits von der SQL-Sprache für bestimmte Zwecke verwendet werden. Beispiele sind SELECT, INSERT, UPDATE, ALTER, DELETE usw. Wenn Sie reservierte Wörter für einen Zweck verwenden, der außerhalb ihres vorgesehenen Verwendungszwecks in Ihrem SQL-Code liegt, werden Sie auf SQL-Fehler 1064 stoßen.
- Falsche Datentypen – Verwendung falscher Datentypen in der SQL-Anweisung. Ein typisches Beispiel ist das Einfügen von Text in ein numerisches Feld.
- Fehlende Daten – Wenn Sie versuchen, Daten in eine Datenbank einzufügen oder zu aktualisieren, bei der ein erforderliches Feld fehlt, kann das Ergebnis ein SQL-Fehler 1064 sein.
Wie behebt man den SQL-Fehler 1064
Der SQL-Syntaxfehler kann verschiedene Ursachen haben. Hier ist eine Reihenfolge, der Sie folgen können, um die Ursache des Problems zu finden und es zu lösen.
-
Schritt 1.Fehlermeldung sorgfältig lesen
Wenn Sie auf einen SQL-Fehler 1064 stoßen, lesen Sie die Fehlermeldung sorgfältig durch. Es zeigt an, welche Zeile oder welcher Abschnitt der SQL-Anweisung einen Fehler enthält.
Unten ist ein Beispiel von phpMyAdmin, das den Fehler erzeugt und darauf hinweist, welcher Teil problematisch ist.
-
Schritt 2.Überprüfen Sie Ihre MySQL-Abfrage auf Syntaxfehler
Sobald Sie den Teil der SQL-Anweisung identifiziert haben, der den Fehler verursacht, überprüfen Sie den SQL-Code auf Syntaxfehler. Suchen Sie nach fehlenden Klammern, Kommas oder falsch geschriebenen Operatoren, Klauseln, Ausdrücken oder Schlüsselwörtern.
Das Beispiel aus dem vorherigen Schritt zeigt, dass der problematische Teil des SQL-Befehls ist:
''WERE `fpj_options`.`option_id` = 1' at line 1
Wenn man sich die Zeile genau ansieht, wird deutlich, dass das Problem von der falsch geschriebenen „WERE“-Klausel kommt. Die richtige Form ist “WHERE“ also das fehlende „H “ hat den Fehler ausgelöst. Die Korrektur der Klausel führt zu einer erfolgreichen Ausführung des SQL-Befehls.
-
Schritt 3.Überprüfen Sie, ob Sie reservierte Wörter verwenden
Wenn Sie MySQL verwenden und eine Fehlermeldung mit dem Code 1064 erhalten, kann dies daran liegen, dass Sie Wörter verwendet haben, die MySQL als etwas Besonderes ansieht. Diese werden als “reservierte Wörter” bezeichnet und Beispiele sind ALTER, TABLE, SELECT usw.
Reservierte Wörter haben in MySQL eine bestimmte Bedeutung. Sie können sie nicht als Namen für Tabellen, Spalten oder andere Teile einer MySQL-Datenbank verwenden, ohne Fehler zu verursachen. Unten ist ein Beispiel für den SQL-Syntaxfehler, der durch die Verwendung des reservierten Wortes alter als Tabellenname verursacht wird.
Um diesen Fehler zu vermeiden, überprüfen Sie, ob reservierte Wörter in Ihren Abfragen fehl am Platz verwendet werden. Eine vollständige Liste dieser Wörter finden Sie im MySQL-Handbuch. Wenn Sie ein reserviertes Wort verwenden, ändern Sie es in etwas anderes.
Wenn Sie es vorziehen, das reservierte Wort zu verwenden, umgeben Sie es mit Backticks (`). Diese Backticks weisen MySQL an, es als Namen und nicht als reserviertes Wort zu behandeln.
-
Schritt 4.Veraltete Befehle ersetzen
MySQL hat im Laufe der Jahre mehrere Überarbeitungen und Änderungen erfahren. Einige dieser Änderungen haben sich auf die SQL-Syntaxregeln ausgewirkt. Viele der Befehle wurden aufgegeben und durch neue ersetzt.
Sie können die MySQL Server Version, die Sie verwenden, in phpMyAdmin überprüfen. Für weitere Informationen lesen Sie diese Anleitung auf wie Sie die MySQL-Version auf dem Server überprüfen, der Ihr Konto hostet.
Wenn Sie festgestellt haben, dass Sie veraltete oder nicht mehr unterstützte Befehle verwenden, ersetzen Sie sie durch aktuelle Befehle.
Um veraltete Befehle in Dateien zu bearbeiten, können Sie Zeit sparen, indem Sie Werkzeuge zum Suchen und Ersetzen in Ihrem Dateimanager verwenden. Sie können alle Befehle, die das Problem verursachen, auf einmal durch die richtigen neuen Versionen ersetzen.
Der Dateimanager in Site Tools bietet diese Funktionalität für SiteGround-Benutzer. Öffnen Sie die Datei, die Sie bearbeiten möchten, und klicken Sie auf Ersetzen.
Geben Sie im Feld Find den veralteten Befehl ein, der aktualisiert werden muss. Schreiben Sie in Replace den aktualisierten Befehl, um den alten zu ersetzen. Das Tool wird alle Instanzen des veralteten Befehls mit dem neuen umschreiben.
-
Schritt 5.Überprüfen Sie, ob Sie den richtigen Datentyp verwenden
SQL-Datenbanken wurden entwickelt, um verschiedene Datentypen zu speichern. Jeder hat seine eigenen spezifischen Format- und Speicheranforderungen. Beispielsweise benötigt ein numerischer Wert einen anderen Speicherplatz als ein String-Wert.
Wenn Sie versuchen, Daten eines Typs in eine Spalte eines anderen Typs einzufügen, werden Sie auf den SQL-Fehler 1064 stoßen. Diese Fehlermeldung wird normalerweise von “Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie die” Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax für die Verwendung in der Nähe von …” entspricht.
Wenn Sie zum Beispiel eine Textzeichenfolge in eine Spalte einfügen, die als numerischer Wert definiert ist, erhalten Sie SQL-Fehler 1064.
Um diesen Datenbankfehler zu vermeiden, stellen Sie sicher, dass die Datentypen der Spalten in Ihrem SQL-Code mit den Datentypen der Werte übereinstimmen, die Sie einfügen.
-
Schritt 6.Fehlende Daten hinzufügen
Eine weitere häufige Ursache für SQL Error 1064 sind fehlende Daten. Wenn Sie beispielsweise versuchen, Daten in eine Tabelle mit Pflichtfeldern einzufügen, aber einige Felder leer lassen, erhalten Sie einen SQL-Fehler 1064.
Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie alle erforderlichen Daten angegeben haben. Möglicherweise müssen Sie die fehlenden Daten manuell hinzufügen.
Darüber hinaus kann der Fehler auftreten, wenn Sie Ihre Datenbank aus einer beschädigten Backup-Datei importieren. Erstellen Sie ein neues Backup Ihrer ursprünglichen Datenbank und importieren Sie es auf dem neuer Server wieder.
SiteGround-Benutzer können das Tool Datenbank-Dump importieren nutzen, entwickelt für Importieren größerer Datenbanken.
Wenn Sie sich bezüglich der Pflichtfelder nicht sicher sind, überprüfen Sie die Tabellendefinition oder wenden Sie sich an den Datenbankadministrator.
-
Schritt 7.Hilfe anfordern
Wenn Sie alle oben genannten Schritte ausprobiert haben und SQL Error 1064 immer noch nicht beheben können, versuchen Sie, Hilfe zu finden.
Sie können sich an den Datenbankadministrator wenden oder ein Online-Forum oder eine Community konsultieren, die sich der SQL-Programmierung widmen.
Viele Online-Ressourcen sind sowohl für Anfänger als auch für erfahrene Programmierer verfügbar, und Sie können Antworten auf die meisten SQL-bezogenen Fragen finden. Hilfreiche Informationen finden Sie im offiziellen MySQL-Forum, wo sich Benutzer gegenseitig bei komplizierteren Problemen helfen und ihre Erfahrungen austauschen.
3 Tipps zur Vermeidung von SQL-Fehler 1064
Sie können den SQL-Fehler 1064 verhindern, indem Sie bewährte Verfahren befolgen, die die Wahrscheinlichkeit von Syntaxfehlern verringern.
Verwenden Sie einen SQL Validator, um einen Syntaxfehler zu erkennen
Ein SQL-Validator ist ein Werkzeug, das die Syntax Ihres SQL-Codes überprüft und Fehler identifiziert. Wenn Sie es verwenden, können Sie Fehler frühzeitig erkennen und beheben, bevor der Code ausgeführt wird.
EverSQL ist eines der beliebtesten kostenlosen SQL-Validator-Tools. Senden Sie Ihre SQL-Anfrage und klicken Sie auf die Schaltfläche Validate SQL Syntax. Der Checker wird den Code untersuchen und auf mögliche Fehler in den MySQL-Abfragen hinweisen.
SQL-Aliase verwenden
SQL-Aliasnamen ermöglichen es Ihnen, einer Tabelle oder Spalte einen temporären Namen zuzuweisen. Mit Aliasnamen können Sie Ihren SQL-Code vereinfachen und Syntaxfehler durch Tippfehler oder Mehrdeutigkeiten vermeiden. Beachten Sie, dass der SQL-Alias nur für die Dauer der SQL-Abfrage aktiv bleibt.
Die Klausel AS ermöglicht einen Alias für eine Tabelle oder Spalte. Um einen Alias für eine Spalte zuzuweisen, verwenden Sie die folgende Vorlage.
SELECT column_name AS alias_name
FROM table_name;
Um einer Tabelle einen Alias zuzuweisen, verwenden Sie das folgende Format.
SELECT column_name(s)
FROM table_name AS alias_name;
Ersetzen Sie column_name und table_name mit den vorhandenen Namen in Ihrer Datenbank und alias_name – mit Ihrem gewählten benutzerdefinierten Alias.
Aufschlüsseln von SQL-Anweisungen
Das Aufteilen komplexer SQL-Anweisungen in kleinere, überschaubare Teile kann Ihnen helfen, Fehler leicht zu identifizieren. Indem Sie kleinere Teile Ihres SQL-Codes testen, können Sie Fehler isolieren und beheben, bevor sie größere Probleme verursachen.
Schlussfolgerung
SQL Error 1064 ist ein häufiger Fehler, der von SQL-Programmierern auftritt. Syntaxfehler, veraltete Befehle, falsche Datentypen, fehlende Daten oder andere Fehler im SQL-Code verursachen normalerweise diesen Fehler.
Indem Sie die in diesem Handbuch beschriebenen Schritte befolgen und die Tipps zur Vermeidung von MySQL Fehler 1064 implementieren, können Sie dies vermeiden und sicherstellen, dass Ihr SQL-Code reibungslos läuft. Denken Sie daran, immer nach Syntaxfehlern zu suchen und bei Bedarf Hilfe zu suchen.