2019-09-02

SQLite : Python開發環境下,使用SQLite的參數化查詢,可以避免因包含 ' 單引號(apostrophe)的字串,所引起的錯誤

  1. 使用Python的 % 串接字串,很好用,很方便,但如果字串中包含單引號 (apostrophe, ASCII : 39),又沒有預先處理好,就會造成SQL執行錯誤,例如:
    zSQL="""INSERT INTO logs
                    (logA,logB,logC,logD,logE,logF) values (
                    '%s','%s',%d,%d,%d,'%s');
            """
    SQL=zSQL%(strA,strB,strC,strD,strE,strF)
  2. 如果直接改成參數化的語法,這樣就可以自動排除單引號 (apostrophe, ASCII : 39)所引起的錯誤。
  3. oConn.execute("INSERT INTO logs (logA,logB,logC,logD,logE,logF) values (?,?,?,?,?,?), (strA,strB,strC,strD,strE,strF))"
  1. 參考資料:https://zh.wikipedia.org/wiki/參數化查詢








沒有留言:

張貼留言