Wenn du WordPress schon eine Weile benutzt, hast du dich vielleicht entschieden, in eine fortgeschrittene Datenbankverwaltung einzusteigen. Dies beinhaltet oft die Verwendung der MySQL-Kommandozeile, was wiederum zu verwirrenden Problemen wie z.B. MySQL 1064-Fehlern führen kann.
Glücklicherweise kann die Behebung dieses Fehlers aufgrund seiner vielen möglichen Ursachen zunächst verwirrend sein, aber die Lösungen neigen dazu, relativ einfach zu sein. Sobald du den Grund für den Datenbankfehler, den du siehst, bestimmt hast, solltest du in der Lage sein, ihn ziemlich schnell zu beheben.
In diesem Beitrag werden wir die verschiedenen möglichen Ursachen des MySQL-1064-Fehlers behandeln. Dann werden wir Lösungen für jede häufige Situation vorstellen, um dabei zu helfen, deine Datenbank und deine Website wieder zum Laufen zu bringen.
Fangen wir an!
Warum der MySQL 1064-Fehler auftritt
Der Fehler MySQL 1064 ist ein Syntaxfehler. Das bedeutet, dass der Grund für das Problem darin liegt, dass MySQL nicht versteht, was du von ihm verlangst. Es gibt jedoch viele verschiedene Situationen, die zu dieser Art von Fehlkommunikation zwischen dir und deiner Datenbank führen können.
Die einfachste Ursache ist, dass du einen Fehler beim Eingeben eines Befehls gemacht hast und MySQL deine Anfrage nicht verstehen kann. Alternativ könnte es sein, dass du versucht hast, veraltete oder sogar obsolete Befehle zu benutzen, die nicht gelesen werden können.
In anderen Fällen mag es sein, dass du versucht hast, ein ‚reserviertes Wort‚ in einen deiner Befehle einzufügen. Reservierte Wörter sind Begriffe, die nur in bestimmten Kontexten in MySQL benutzt werden können. Wenn du versuchst, sie auf andere Weise zu benutzen, wirst du mit einem Fehler konfrontiert.
Es ist auch möglich, dass einige Daten in deiner Datenbank fehlen. Wenn du eine Anfrage über MySQL machst, die auf Daten verweist, die nicht dort sind, wo sie sein sollten, wirst du auch den Fehler 1064 sehen. Schließlich kann auch das Übertragen deiner WordPress-Datenbank auf einen anderen Server zum gleichen Problem führen.
Wie du siehst, gibt es viele mögliche Ursachen für dieses Problem, die es schwierig machen können, es zu lösen. Wenn du nicht gerade dabei bist, deine Datenbank zu verschieben oder eine andere Aktion durchzuführen, die auf eine bestimmte Ursache hinweist, musst du wahrscheinlich ein paar verschiedene Lösungen ausprobieren, bevor du auf der richtigen landest. Glücklicherweise ist keine von ihnen zu schwierig auszuführen, wie wir als nächstes sehen werden.
Wie man den MySQL 1064 Fehler behebt (5 Methoden)
Wenn du bereits eine Vorstellung davon hast, was deinen MySQL-1064-Fehler verursacht, kannst du einfach zur Auflösung für deine spezielle Situation springen. Wenn du jedoch nicht sicher bist, warum der Fehler aufgetreten ist, ist die einfachste Strategie, zuerst die einfachste Lösung auszuprobieren.
In diesem Fall empfehlen wir, die fünf wahrscheinlichsten Korrekturen in der folgenden Reihenfolge zu testen.
1. Korrigiere falsch eingegebene Befehle
Das Gute an den Tippfehlern von MySQL ist, dass sie die einfachste Erklärung für Syntaxprobleme wie den Fehler 1064 sind. Unglücklicherweise können sie auch am mühsamsten zu korrigieren sein. Im Allgemeinen ist deine beste Option, deinen Code manuell Korrektur zu lesen und nach Fehlern zu suchen, die du vielleicht gemacht hast.
Wir empfehlen, das MySQL-Handbuch als Referenz zu benutzen, während du das tust, und alles, bei dem du dir nicht sicher bist, doppelt zu überprüfen. Wie du dir vorstellen kannst, kann das ziemlich zeitaufwendig werden, besonders wenn du schon eine Weile in der MySQL-Kommandozeile gearbeitet hast oder wenn du neu in dieser Aufgabe bist.
Eine Alternative zur manuellen Überprüfung deiner Arbeit ist es, ein Werkzeug wie EverSQL zu benutzen:
Mit dieser Lösung kannst du einfach dein MySQL eingeben, um automatisch auf Fehler zu prüfen. Beachte jedoch, dass diese Plattformen nicht immer perfekt sind und du solltest die Ergebnisse vielleicht trotzdem selbst überprüfen.
2. Ersetze veraltete Befehle
Da die Plattformen wachsen und sich verändern, werden einige Befehle, die in der Vergangenheit nützlich waren, durch effizientere ersetzt. MySQL ist keine Ausnahme. Wenn du an deiner Datenbank nach einer kürzlichen Aktualisierung arbeitest oder während deiner Arbeit auf eine veraltete Quelle verwiesen hast, ist es möglich, dass einer oder mehrere deiner Befehle nicht mehr gültig sind.
Du kannst überprüfen, ob dies der Fall ist, indem du das MySQL-Referenzhandbuch benutzt. Du findest Erwähnungen von Befehlen, die von jeder MySQL-Version veraltet wurden, in den entsprechenden Abschnitten:
Wenn du herausgefunden hast, welcher Befehl wahrscheinlich das Problem verursacht, kannst du einfach die Funktion ‚Suchen und Ersetzen‘ verwenden, um den veralteten Befehl zu entfernen und in der neuen Version hinzuzufügen. Wenn du zum Beispiel die storage_engine
benutzt hast und feststellst, dass sie nicht mehr funktioniert, kannst du einfach alle Instanzen durch den neuen Befehl default_storage_engine
ersetzen.
3. Reservierte Wörter benennen
In MySQL führt die Benutzung eines reservierten Wortes außerhalb des Kontextes zu einem Syntaxfehler, da es als falsch interpretiert wird. Du kannst jedoch immer noch reservierte Wörter benutzen, wie auch immer du willst, indem du sie innerhalb von Backticks wie diesem enthält: `select
`
Jede Version von MySQL hat seine eigenen reservierten Worte, die du im MySQL-Referenzhandbuch nachlesen kannst. Ein schnelles Finden und Ersetzen sollte es dir ermöglichen, dieses Problem zu lösen, wenn du denkst, dass es deinen 1064-Fehler verursachen könnte.
4. Fehlende Daten hinzufügen
Wenn deine letzte MySQL-Abfrage versucht, auf Informationen in einer Datenbank zu verweisen und sie nicht finden kann, wirst du offensichtlich auf Probleme stoßen. Falls keine der vorhergehenden Lösungen deinen MySQL-1064-Fehler behebt, ist es vielleicht an der Zeit, nach fehlenden Daten zu suchen.
Leider ist das eine weitere Lösung, die ziemlich mühsam sein kann und von Hand gemacht werden muss. Das Beste, was du in dieser Situation tun kannst, ist, rückwärts zu arbeiten, beginnend mit deiner letzten Anfrage. Überprüfe jede Datenbank, auf die sie verweist, und stelle sicher, dass alle richtigen Informationen vorhanden sind. Dann gehe zur nächstjüngsten Abfrage über, bis du zu der einen kommst, in der einige Daten fehlen.
5. Verwende den Kompatibilitätsmodus zum Übertragen von WordPress-Datenbanken
Diese endgültige 1064-Fehlerlösung ist nicht so einfach wie die anderen auf unserer Liste. Wenn du jedoch deine WordPress-Site auf einen neuen Host oder anderweitig auf einen anderen Server migrierst, musst du zusätzliche Schritte unternehmen, um Probleme mit deiner Datenbank zu vermeiden.
Die einfachste Lösung ist die Verwendung eines Migrations-Plugins, das einen Kompatibilitätsmodus enthält, wie z.B. WP Migrate DB:
Dadurch wird eine automatische Erkennungsfunktion aktiviert, die sicherstellt, dass deine letzte Sicherung der Website und die Datenbank mit mehreren Versionen von MySQL kompatibel sind. Du kannst auf die Einstellung des Kompatibilitätsmodus zugreifen, indem du zu Tools > Migrate DB > Advanced Options navigierst:
Markiere das Kästchen neben Kompatibel mit älteren Versionen von MySQL, bevor du mit der Migration deiner Website beginnst. Auf diese Weise solltest du in der Lage sein, jegliche Probleme während des Prozesses zu vermeiden.
Zusammenfassung
Datenbankfehler können deinen Plänen einen Strich durch die Rechnung machen und sogar die Stabilität deiner Website gefährden. Wenn du weißt, wie du Probleme wie den MySQL 1064-Fehler beheben kannst, kannst du schnell reagieren und die Ausfallzeiten deiner Website minimieren.
Es gibt fünf Methoden, mit denen du versuchen kannst, den MySQL 1064-Fehler zu beheben, wenn er auftritt, abhängig von seiner wahrscheinlichsten Ursache:
- Korrigiere falsch eingegebene Befehle.
- Ersetze veraltete Befehle.
- Benenne reservierte Wörter.
- Füge fehlende Daten hinzu.
- Übertrage WordPress-Datenbanken im Kompatibilitätsmodus.