Python 字符串 單引號引起的 sql 語句錯誤

在使用python字符串拼接sql語句的時候,由於字符內部有單引號,導致sql語句被斷開拋出異常。

找了一些方案都不完美,有的要引入其他庫,有的要破壞原始數據,這裏使用了最簡單的字符串替換解決。

sql_insert = "insert into cinemas(id, dir, url) VALUES ('%s', '%s', '%s');" \
                             % (cinema_id, title.replace("'", "\\'"), url)

把字符串中的單引號替換成\'即可,這樣單引號會被視爲轉義字符,不會用來做分隔符,插入數據也是正確的。

因爲這裏的反斜槓本身也要轉義,所以要再加一個反斜槓轉義後面的反斜槓,一共是兩個\。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章