ホームページ >データベース >mysql チュートリアル >MySQL CREATE TABLE ステートメントで予約語をエスケープする方法

MySQL CREATE TABLE ステートメントで予約語をエスケープする方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-17 09:02:25376ブラウズ

How to Escape Reserved Words in MySQL CREATE TABLE Statements?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。