ホームページ > データベース > mysql チュートリアル > MySQL、SQLite、SQL Server で列名をエスケープするにはどうすればよいですか?

MySQL、SQLite、SQL Server で列名をエスケープするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-11 22:02:47
オリジナル
938 人が閲覧しました

How Do I Escape Column Names in MySQL, SQLite, and SQL Server?

SQL データベースの列名をエスケープします

SQL には列名をエスケープする標準化された方法がありますか?サポートされていない場合、MySQL、SQLite、SQL Server ではどのようなメソッドがサポートされていますか?

SQL 標準と識別子の区切り文字

SQL:1999 標準では、列名を含む識別子を区切り文字として二重引用符 (") で囲む必要があると規定しています。

<code><delimited identifier=""> ::= <double quote=""><delimited body="" identifier=""><double quote=""></double></delimited></double></delimited></code>
ログイン後にコピー

区切り文字で区切られた列名のサポート

Oracle、PostgreSQL、MySQL、MSSQL、SQLite などの最も一般的な SQL データベースは、識別子の区切り文字として二重引用符の使用をサポートしています。ただし、すべてのデータベースがこれをデフォルト設定として使用するわけではありません。

MySQL

MySQL で二重引用符を列名の区切り文字として使用するには、ANSI モードを有効にする必要があります。

SQL サーバー

SQL Server では、QUOTED_IDENTIFIER オプションが ON に設定されている場合にのみ、二重引用符が列名の区切り文字としてサポートされます。

使用例

これらのデータベースで二重引用符を使用して列名をエスケープするには、列名を引用符で囲むだけです。

<code>SELECT * FROM "table_name" WHERE "column_name" = 'value';</code>
ログイン後にコピー

注:

二重引用符は列名をエスケープする標準的な方法ですが、データベースによっては角括弧 ([ と ]) などの他の区切り文字もサポートしている場合があります。ただし、異なるデータベース間での互換性と一貫性を確保するために、通常は二重引用符を使用することをお勧めします。

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

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