Datenbank-Bezeichner-Trennzeichen: Eintauchen in Quotierungsvariationen
Im Bereich SQL entsteht eine häufige Anforderung bei der Arbeit mit Bezeichnern (Tabellennamen, Spaltennamen), die möglicherweise nicht alphanumerische Zeichen enthalten oder potenzielle Konflikte mit SQL-Schlüsselwörtern darstellen. Um dies zu beheben, verwenden Datenbanken Trennzeichen, die als „getrennte Bezeichner“ bekannt sind.
Anführungszeichen mit Backticks und doppelten Anführungszeichen
Konventionell verwendet SQL standardmäßig doppelte Anführungszeichen Trennzeichen für zitierte Bezeichner:
SELECT * FROM "my_table";
Einige Datenbanken weichen jedoch von dieser Norm ab. Beispielsweise haben MySQL und Microsoft SQL Server Variationen eingeführt:
SELECT * FROM `my_table`; -- Enabling ANSI mode allows for double-quotes: SET SQL_MODE=ANSI_QUOTES; SELECT * FROM "my_table";
SELECT * FROM [my_table]; -- Turn on quoted identifiers: SET QUOTED_IDENTIFIER ON; SELECT * FROM "my_table";
Im Fall von InterBase und Firebird ist eine Änderung des SQL-Dialekts erforderlich um durch Trennzeichen getrennte Bezeichner zuzulassen.
Konformität mit Standards
Während viele Datenbanksysteme sich an die halten Aufgrund der Konvention für doppelte Anführungszeichen und der unterschiedlichen Anführungsmethoden wird deutlich, wie wichtig es ist, die Dokumentation zu überprüfen und die spezifischen Konventionen jedes DBMS einzuhalten. Dadurch können Sie Syntaxfehler vermeiden und sicherstellen, dass Ihre SQL-Abfragen wie vorgesehen ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWie gehen verschiedene SQL-Datenbanken mit Bezeichnertrennzeichen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!