Heim > Datenbank > MySQL-Tutorial > Wie entferne ich Sonderzeichen in SQL-Spaltennamen?

Wie entferne ich Sonderzeichen in SQL-Spaltennamen?

Susan Sarandon
Freigeben: 2025-01-11 22:18:44
Original
677 Leute haben es durchsucht

How Do I Escape Special Characters in SQL Column Names?

Navigieren durch Sonderzeichen in SQL-Spaltennamen

SQL-Datenbanken bieten erhebliche Flexibilität bei der Benennung von Tabellen und Spalten. Bestimmte Zeichen sind jedoch für bestimmte SQL-Funktionen reserviert. Beispielsweise fungiert der Punkt (.) als Trennzeichen zwischen Tabellen- und Spaltennamen. Das Einfügen eines Punkts direkt in einen Spaltennamen führt zu einer Fehlinterpretation durch die Datenbank.

Die Lösung besteht darin, Trennzeichen zu verwenden, um das Sonderzeichen effektiv zu maskieren. Wenn Sie den Spaltennamen in Anführungszeichen setzen, wird die Datenbank darüber informiert, dass der Punkt Teil des Namens und kein Trennzeichen ist. Das folgende Beispiel erstellt eine Tabelle mit einer Spalte namens „vorname“:

<code class="language-sql">CREATE TABLE people (
  "first.name" VARCHAR(255)
);</code>
Nach dem Login kopieren

SQL-Standard- und Trennzeichenverwendung

Der SQL:1999-Standard empfiehlt doppelte Anführungszeichen (""), um Bezeichner abzugrenzen. Dadurch ist es möglich, jedes Zeichen zu maskieren, das in Bezeichnern ohne Anführungszeichen normalerweise nicht zulässig ist. Zum Beispiel:

<code class="language-sql">CREATE TABLE "table name" (
  column_name VARCHAR(255)
);</code>
Nach dem Login kopieren

Datenbankspezifische Überlegungen

Obwohl der SQL-Standard existiert, variiert das Standardverhalten je nach Datenbanksystem. MySQL und SQLite unterstützen doppelte Anführungszeichen als Trennzeichen, jedoch nicht standardmäßig. MySQL erfordert den ANSI-Modus, während SQLite PRAGMA identifiers=ON benötigt, um dieses Verhalten zu aktivieren.

SQL Server akzeptiert auch doppelte Anführungszeichen, erfordert jedoch ebenfalls die Einstellung der Option QUOTED_IDENTIFIER auf ON.

Zusammenfassung

Obwohl es einen Standard für das Escapen von Spaltennamen in SQL gibt, haben Datenbanksysteme oft unterschiedliche Standardeinstellungen. MySQL, SQLite und SQL Server unterstützen alle doppelte Anführungszeichen als Trennzeichen, erfordern jedoch bestimmte Konfigurationen, um diese Funktionalität zu aktivieren. Informationen zur richtigen Methode finden Sie immer in der Dokumentation Ihrer Datenbank.

Das obige ist der detaillierte Inhalt vonWie entferne ich Sonderzeichen in SQL-Spaltennamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage