首页 > 解决方案 > SQL 查询的字符串格式

问题描述

我通过 python 进行查询,如下所示:

cur.execute("INSERT INTO tblMQTTtest (string) VALUES ('test')")
con.commit()

效果很好。但是,如果我说到点子上,我会使用一个占位符,我会收到一条错误消息:/

var1 = 'mystring'
cur.execute("INSERT INTO tblMQTTtest (string) VALUES (%s)", (var1))
con.commit()

错误:

File "mqtt1.py", line 25, in write
cur.execute("INSERT INTO tblMQTTtest (string) VALUES (%s)", (var1))
TypeError: not all arguments converted during string formatting

有任何想法吗?

标签: pythonsqlpython-3.x

解决方案


我认为您需要用 % 替换逗号。Python 不知道如何在%s没有%运算符的情况下填写。尝试:

cur.execute("INSERT INTO tblMQTTtest (string) VALUES (%s)" % var1 )

推荐阅读