ホームページ >データベース >mysql チュートリアル >アポストロフィを含む値を SQL データベースに挿入するにはどうすればよいですか?

アポストロフィを含む値を SQL データベースに挿入するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-16 11:50:03641ブラウズ

How Do I Insert Values with Apostrophes into an SQL Database?

SQL データベースに一重引用符を含む値を挿入します

一重引用符は SQL の文字列データの区切り文字として機能するため、一重引用符を含む値を SQL テーブルに挿入するのは難しい場合があります。

例:

次の SQL INSERT ステートメントを考えてみましょう:

<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O'Brien')</code>

「O」の後の一重引用符が値の終わりとして解釈されるため、このステートメントはエラーをスローします。

解決策: 一重引用符をエスケープします

一重引用符を含む値を挿入するには、一重引用符を二重にして文字をエスケープする必要があります。

<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien')</code>

この例では、「O」の後の一重引用符が別の一重引用符でエスケープされています。

SELECT クエリに適用されます

同じエスケープ規則が SELECT クエリにも適用されます。たとえば、「O'Brien」という姓の人を検索するには:

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>

技術的説明

一重引用符は文字列データの始まりと終わりを示すため、SQL の特殊文字です。文字列値の一部として一重引用符を使用するには、その特殊文字ステータスをエスケープする必要があります。これは通常、文字を 2 倍にすることで行われます。

メモ

特殊文字が含まれる可能性のあるデータを扱う場合、データベースに挿入する前にこれらの文字をエスケープすることをお勧めします。これは、SQL インジェクション攻撃やその他の脆弱性の防止に役立ちます。コードでは、フレームワークとツールがこれを処理する必要があります。

以上がアポストロフィを含む値を SQL データベースに挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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