1. 程式人生 > >sql – 如何插入一個包含撇號(單引號)的值?

sql – 如何插入一個包含撇號(單引號)的值?

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

我繼續得到一個錯誤,因為我認為撇號後的O是值的結束標籤。

在SQL中轉義撇號(即雙引號單引號字元):

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

這同樣適用於SELECT查詢:

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

撇號或單引號在SQL中是一個特殊字元,用於指定字串資料的開頭和結尾。這意味著要使用它作為字串資料的一部分,您需要轉義特殊字元。使用單引號這通常是通過加倍您的報價完成。 (兩個單引號字元,而不是雙引號,而不是單引號。)

注意:當您通過原始SQL介面手動編輯資料時,您應該只擔心這個問題,因為在開發之外編寫查詢並且測試應該很少出現。在程式碼中有技術和框架(取決於你的堆疊),照顧轉義的特殊字元,SQL injection等。

翻譯自:https://stackoverflow.com/questions/1912095/how-to-insert-a-value-that-contains-an-apostrophe-single-quote


轉載:https://codeday.me/bug/20170424/11983.html