Python MySQL连接器选择变量

时间:2015-10-18 02:52:43

标签: python mysql sql

我有这个小问题:

id = 'TESTID'
sql = "SELECT ID,PASSWORD FROM USERS WHERE ID = %s"
cursor.execute(sql,(id))

我遇到了错误:

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 'TESTID''' at line 1

我知道这是双引号。我有多个其他查询运行完美,但他们有3个参数

示例:

id = 'TESTID'
GR = 'TEST'
name = 'HELLO'
last_name = 'WORLD'
sql = "INSERT INTO USERS (ID,GR,name,last_name) VALUES (%s,%s,%s,%s)"
cursor.execute(sql,(id,gr,name,last_name))

这个开头没有3个双引号,最后有3个双引号并且运行完美,所以我现在不知道该怎么做。

谢谢你。

1 个答案:

答案 0 :(得分:1)

你应该记住的一件事是(7)7相同。对于长度为1的元组,您必须说(7,)(请注意重要的尾随逗号)。

所以改变这一行: cursor.execute(sql,(id))cursor.execute(sql,(id,))