我的SQLite表达式出了什么问题?

时间:2013-03-29 13:01:20

标签: python sqlite

cursor.execute("INSERT INTO pattent VALUES ('%s','%s','%s','%s','%s','%s')" %(PattentNumber,PattentName,PattentInventors,PattentCompany,PattentFiledtime,PattentAbstract))
sqlite3.OperationalError: near "s": syntax error

以上是我的INSERT句子。 它适用于其他情况,但它说sqlite3.OperationalError: near "s": syntax error

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

谢谢!

1 个答案:

答案 0 :(得分:4)

你应该使用字符串格式,而是使用SQL参数:

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

SQL参数确保您的值正确转义,防止SQL注入攻击并正确处理不同类型。