ホームページ >データベース >mysql チュートリアル >MySQL CREATE TABLE ステートメントで予約語をエスケープする方法
MySQL CREATE TABLE ステートメントでの予約語のエスケープ
MySQL では、適切にエスケープしないと予約語をカラム名として使用できません。これは、予約されたキーワードに一致するフィールド名を持つクラスからテーブルを生成するときに発生する可能性があります。これを解決するには、SQL モード設定に応じて 2 つの方法を使用できます。
二重引用符の使用 (ANSI SQL モード)
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 モード)
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;
これらの方法のいずれかを使用すると、構文エラーを引き起こすことなく予約語を列名として使用できます。作成されたテーブルの有効性と整合性を確保するには、適切なエスケープが不可欠であることに注意してください。
以上がMySQL CREATE TABLE ステートメントで予約語をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。