0
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 都是文本。磨损在哪里?

谢谢!

4

1 回答 1

4

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

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

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

于 2013-03-29T13:02:39.833 回答