2013-03-29 43 views
0
​​

以上是我的INSERT句子。 它可以很好地處理其他情況,但它說sqlite3.OperationalError: near "s": syntax error我的SQLite表達式在哪裏出錯?

我使用Python,所有VALUES都是文本。 worng在哪裏?

謝謝!

+0

可能錯誤在於您的文本包含撇號s:「是」。撇號結束SQL字符串文字,並且s是語法錯誤。按照Martijn的建議使用參數可以解決問題。 –

回答

4

你應該使用字符串格式化,使用SQL參數來代替:

cursor.execute("INSERT INTO pattent VALUES (?, ?, ?, ?, ?, ?)", 
    (PattentNumber, PattentName, PattentInventors, PattentCompany, PattentFiledtime, PattentAbstract)) 

SQL參數確保你的價值觀會被轉義正確,防止SQL注入攻擊,妥善處理不同的類型。

+0

非常感謝!有效! – sikisis