ホームページ >データベース >mysql チュートリアル >SQL INSERT および SELECT ステートメントでアポストロフィを処理するにはどうすればよいですか?

SQL INSERT および SELECT ステートメントでアポストロフィを処理するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-16 11:11:58345ブラウズ

How Do I Handle Apostrophes in SQL INSERT and SELECT Statements?

SQL ステートメントにアポストロフィを含む値を挿入します

アポストロフィを含む値を SQL クエリに直接挿入すると、エラーが発生する可能性があります。これは、SQL ではアポストロフィが文字列の先頭と末尾を表すためです。この問題を解決するには、アポストロフィをエスケープする必要があります。

たとえば、アポストロフィは Person テーブルの Last フィールドに表示されます:

<code class="language-sql">Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'</code>

文字 O に続くアポストロフィは文字列値の終わりとして解釈されるため、この構文ではエラーが発生します。これを修正するには、アポストロフィを 2 つ続けてエスケープします:

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

同じ原則が SELECT クエリにも適用されます。

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

これは、文字列を区切るためにアポストロフィが使用されているためです。文字列内で実際のアポストロフィを使用する場合は、SQL が文字列の終わりと誤認しないように、アポストロフィをエスケープする必要があります。

ただし、開発者がコードを作成するときに通常はこの問題に遭遇しないことは注目に値します。フレームワークやツールは多くの場合、特殊文字のエスケープや SQL インジェクションの脆弱性の防止に対応します。

以上がSQL INSERT および SELECT ステートメントでアポストロフィを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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