MySQL でテーブルを作成する場合、MySQL の予約キーワードと一致するクラス フィールド名が見つかる可能性があります。エラーを防ぐには、CREATE TABLE ステートメント内でこれらの予約語をエスケープする必要があります。
これを実現するには、次の 2 つの方法があります。
ANSI SQL モードが有効な場合、予約語を二重引用符で囲むことができます。例:
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;
ANSI SQL モードが有効でない場合、または優先される場合は、独自のバックティック文字 (`) を使用して予約語をエスケープできます。例:
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;
バックティック文字はすべてのキーボードで使用できるわけではないことに注意することが重要です。さまざまなキーボード レイアウトでシンボルにアクセスする方法については、このガイドを参照してください: https://stackoverflow.com/questions/32470558/where-is-the-backtick-key-on-my-keyboard
以上がMySQL テーブルの作成時に予約キーワードをエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。