在sqlite数据库中插入具有单引号的文本

时间:2016-04-21 09:47:57

标签: python python-2.7 sqlite

我正在尝试将数据插入到python中的sqlite数据库中。现在我的变量中有一个引号

data = "This is my apple's seed."
cursor.execute("insert into tableName (ColName) values ('%s')" %data)

它给出了这样的错误:

  

sqlite3.OperationalError:靠近“s”:语法错误

我知道发生此问题是因为我没有正确转义字符。我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用此:

cursor.execute("insert into tableName (ColName) values (?)", (data,))

Docs鼓励使用DB-API的参数替换。来自docs

  

使用DB-API的参数替换。将?作为占位符   您想在哪里使用值,然后提供值元组   作为光标的execute()方法的第二个参数。