我想用mysql连接器进行选择。我有这个:
subcategory = "Test"
c = mydb.cursor()
sql = "SELECT id FROM Department WHERE subcategory='%s'"
c.execute(sql, subcategory)
res = c.fetchone()
print(res)
输出:
None
但是它总是返回None。如果我从mysql cli运行相同的选择,它将正常工作:
SELECT id FROM Department WHERE subcategory='Test'
输出:
1
为什么不起作用?谢谢!
根据https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html,execute
期望params
(即第二个参数)是一个元组,而不是字符串。尝试使用:
c.execute(sql, (subcategory,))