Das Problem
In MySQL haben bestimmte Wörter eine besondere Bedeutung, wodurch es illegal ist, sie als Bezeichner wie Tabellennamen oder Spalten zu verwenden Namen usw., sofern sie nicht von Backticks umgeben sind. Diese Einschränkung gilt für Schlüsselwörter wie SELECT, INSERT, DELETE und andere.
Lösungsoptionen
1. Vermeiden Sie die Verwendung reservierter Wörter als Bezeichner
Erwägen Sie der Einfachheit halber die Verwendung alternativer Namen für Tabellen oder Spalten, die nicht mit reservierten Wörtern übereinstimmen. Dies eliminiert das Risiko von Syntaxfehlern und gewährleistet die Portabilität über SQL-Dialekte hinweg.
2. Verwenden Sie Backticks, um reservierte Wörter zu maskieren
Wenn die Verwendung eines reservierten Worts erforderlich ist, kann es maskiert werden, indem Sie es mit Backticks (`) umgeben. Dadurch wird MySQL darüber informiert, dass der Bezeichner als gewöhnliche Textzeichenfolge und nicht als Schlüsselwort behandelt werden soll.
Zum Beispiel, um den in der Frage erwähnten Fehler zu beheben:
INSERT INTO user_details (username, location, `key`) VALUES ('Tim', 'Florida', 42);
Durch Hinzufügen von Backticks Durch den Schlüsselwortschlüssel wird die Abfrage syntaktisch korrekt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich Syntaxfehler, wenn ich reservierte Wörter als MySQL-Tabellen- oder Spaltennamen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!