如何在python中作为查询传递时禁用字符串周围的引号?

时间:2015-08-20 16:24:52

标签: python mysql

好的

我正在向我的mysql服务器发送一个类似这样的查询

INSERT INTO accesslist (user, ip, sshid, status) VALUES ("root", "138.117.37.88", "1335", "Failed")

因为它我写了我的查询

query = ('INSERT INTO %s (user, ip, sshid, status) VALUES (%s, %s, %s, %s)')
data_entry = (tablename, user, ip, sshid, status)

但它正在做的是在tablename周围添加引号,而mysql正在为此抛出错误。它正在发送

INSERT INTO "accesslist" (user, ip, sshid, status) VALUES ("root", "138.117.37.88", "1335", "Failed")

那么如何删除我的tablename周围的引号呢?

如果我输入静态表名,那么它工作正常。

1 个答案:

答案 0 :(得分:0)

您的解决方案似乎是正确的。不要离题,但我建议你使用str.format,因为它提供了更多选项并支持命名为kwargs。此外,它是一种较新的推荐方法。

Tutorial