python - 使用python sqlite3模块,如何处理包含双引号的字段?

标签 python string sqlite double-quotes

我试图访问包含“”的数据的数据库,例如:

Tom "is" a cat.

当我使用此代码时:

myData = 100; myKey = 'Tom "is" a cat.'

myCursor.execute('UPDATE MyTable SET MyField = %d WHERE MyTable.Key == "%s"' % (myData, myKey))

我收到这个错误

sqlite3.OperationalError: near "is": syntax error

请注意,我已将 %s 用“”括起来。 我还尝试在它周围使用单引号或添加\,但都不起作用。 知道如何解决这个问题吗?

最佳答案

使用DB-API parameter substitution并将格式留给 sqlite3 库:

myCursor.execute('UPDATE MyTable SET MyField = ? WHERE MyTable.Key == ?', (myData, myKey))

关于python - 使用python sqlite3模块,如何处理包含双引号的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714321/

相关文章:

python - 查找字符串的条件

Python dataframe 添加一列选择上一个日期的数据

c - c中的字符串和字符

android - 如何将 EditText 的文本设置为 Int?

javascript - SQL 删除未按预期工作

python - 为什么(递归地)调用自身的成员方法不会进入无限循环?

python - Matplotlib 不会在图表上绘制线条

Java:如何计算String[]数组中具有两个相同连续字母的单词的分数

ios - 在 IOS 应用程序中使用数据库

java - 尝试从从 sqlite 中提取的对象列表中调用方法时的空对象引用