我试图访问包含“”的数据的数据库,例如:
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/