【发布时间】:2011-10-10 14:33:16
【问题描述】:
我试图访问一个数据库,该数据库的数据包含“”,例如:
汤姆“是”一只猫。
当我使用这段代码时:
我的数据 = 100; myKey = '汤姆“是”一只猫。'
myCursor.execute('UPDATE MyTable SET MyField = %d WHERE MyTable.Key == "%s"' % (myData, myKey))
我收到了这个错误
sqlite3.OperationalError: "is" 附近: 语法错误
请注意,我的 %s 已用“”括起来。 我也尝试在它周围使用单引号或添加 \,但都没有奏效。 知道如何解决这个问题吗?
【问题讨论】:
-
不,不,不!永远不要使用
%运算符将变量放入 SQL 语句中!使用参数替换,就像在 mouad 的回答中一样。您不会使用%正确转义——如果您愿意,它比使用逗号需要更多的工作。严重地。不要将%用于 SQL。
标签: python string sqlite double-quotes