ホームページ > データベース > mysql チュートリアル > MySQL テーブルの列を作成するときに予約語をエスケープするにはどうすればよいですか?

MySQL テーブルの列を作成するときに予約語をエスケープするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-26 14:08:14
オリジナル
624 人が閲覧しました

How Can I Escape Reserved Words When Creating MySQL Table Columns?

MySQL の列名として予約語をエスケープする CREATE TABLE

MySQL でテーブルを作成するときは、言語の予約語に従うことが重要です。ただし、クラス フィールド名がこれらのキーワードと一致する場合 (例の「key」フィールドなど) に問題が発生します。

この問題を回避するには、二重引用符またはバッククォーテーションを使用して予約語をエスケープし、予約語が確実に保護されるようにします。 MySQL キーワードではなく列名として認識されます。

二重引用符の使用 (ANSI SQL モード)有効)

MySQL 環境で 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;
ログイン後にコピー

これらの方法のいずれかを採用することで、MySQL の予約語と一致する列名を持つテーブルを正常に作成できます。

以上がMySQL テーブルの列を作成するときに予約語をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート