Escapen reservierter Wörter in MySQL CREATE TABLE-Anweisungen
In MySQL können reservierte Wörter nicht ohne entsprechendes Escapezeichen als Spaltennamen verwendet werden. Dies kann auftreten, wenn Tabellen aus Klassen generiert werden, deren Feldnamen mit reservierten Schlüsselwörtern übereinstimmen. Um dieses Problem zu beheben, stehen je nach SQL-Moduskonfiguration zwei Methoden zur Verfügung.
Verwendung doppelter Anführungszeichen (ANSI SQL-Modus)
Wenn der ANSI SQL-Modus aktiviert ist, verdoppeln Anführungszeichen können verwendet werden, um reservierte Wörter zu maskieren. Zum Beispiel:
CREATE TABLE IF NOT EXISTS misc_info ( id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, "key" TEXT UNIQUE NOT NULL, value TEXT NOT NULL ) ENGINE=INNODB;
Verwenden von Backticks (Nicht-ANSI-SQL-Modus)
Wenn der ANSI-SQL-Modus deaktiviert ist, kann stattdessen das proprietäre Backtick-Zeichen verwendet werden . Zum Beispiel:
CREATE TABLE IF NOT EXISTS misc_info ( id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, `key` TEXT UNIQUE NOT NULL, value TEXT NOT NULL ) ENGINE=INNODB;
Mit einer dieser Methoden können reservierte Wörter als Spaltennamen verwendet werden, ohne dass es zu Syntaxfehlern kommt. Beachten Sie, dass eine ordnungsgemäße Escape-Funktion unerlässlich ist, um die Gültigkeit und Integrität der erstellten Tabelle sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich reservierte Wörter in MySQL CREATE TABLE-Anweisungen maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!