アポストロフィ(一重引用符)を含む値を挿入するにはどうすればいいですか? 質問する

アポストロフィ(一重引用符)を含む値を挿入するにはどうすればいいですか? 質問する

アポストロフィを含む値を挿入するための正しい SQL 構文は何ですか?

Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'

O の後のアポストロフィが値の終了タグだと思っているため、エラーが発生し続けます。

ベストアンサー1

SQL 内のアポストロフィをエスケープします (つまり、一重引用符を二重にします)。

INSERT INTO Person
    (First, Last)
VALUES
    ('Joe', 'O''Brien')
              /\
          right here  

同じことが SELECT クエリにも当てはまります。

SELECT First, Last FROM Person WHERE Last = 'O''Brien'

アポストロフィ、または一重引用符は、SQL の特殊文字で、文字列データの始まりと終わりを指定します。つまり、これをリテラル文字列データの一部として使用するには、escape特殊文字を使用する必要があります。一重引用符の場合、これは通常、引用符を二重にすることで実現されます。(一重引用符の代わりに二重引用符を使用するのではなく、一重引用符を 2 つ使用します。)

: 開発やテスト以外でクエリを書くことは稀なので、生のSQLインターフェースを介して手動でデータを編集する場合にのみ、この問題を心配する必要があります。コードには、特殊文字のエスケープを処理するテクニックとフレームワークがあります(スタックによって異なります)。SQLインジェクションなど

おすすめ記事