在Python 3.3中使用%s进行SQL查询


问题内容

我正在尝试从MySQL数据库检索数据。

A = "James"
query = ("SELECT * FROM DB.tblusers WHERE UserName = %s ")
c = mysql.connector.connect(user='root', password='',
                          host='127.0.0.1',
                          database='DB')
cur1 = c.cursor()
cur1.execute(query, A)

给出以下错误信息:

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%' at line 1

但是,SQL可在mySQL Workbench中使用。有任何想法吗?


问题答案:

A 应该是一个元组,尝试 A = ("James",)

参见MySQLCursor.execute的文档(操作,参数=无,多=假)


编辑:由于“ swordofpain”而加了一个逗号(我学到了一些东西)