處理 SQL 資料插入中的撇號
將包含撇號的資料直接插入 SQL 資料庫可能會導致錯誤。 撇號充當字串分隔符,可以提前終止字串。 為了避免這種情況,您必須在 SQL 查詢中轉義撇號。
正確方法:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien');</code>
注意到「O'Brien」中的撇號是如何透過加倍來轉義的 (''
)。這清楚地向資料庫表明它是字串的一部分,而不是分隔符號。
SELECT 語句中的撇號處理:
相同的轉義技巧適用於 SELECT
查詢:
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien';</code>
為什麼要逃避?
撇號在 SQL 中作為字串邊界的角色需要轉義。 將其加倍可確保資料庫將其正確解釋為數據,從而防止字串過早終止。
程式設計中的自動轉義:
使用原始查詢直接操作 SQL 需要手動撇號轉義。然而,大多數程式語言和資料庫框架都提供內建函數來自動處理轉義,防止 SQL 注入漏洞。 強烈建議使用這些功能。
以上是如何轉義 SQL INSERT 和 SELECT 語句中的撇號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!