如何使用pyodbc将值插入用户输入的列

时间:2018-12-14 19:50:14

标签: python pyodbc

im尝试将值插入到用户要求更改的列中,称为surnamereq,而用户更改称为name1money_spent是表的名称,first_name是用户正在更改其值的列。

这是应该用SQL编写的方式(我认为):

INSERT INTO money_spent(first_name) WHERE last_name = surnamereq VALUES(name1)

这是我在python中得到的东西

cursor.execute("INSERT INTO money_spent(first_name) WHERE last_name = ?, surnamereq VALUES(name1)")

谢谢

1 个答案:

答案 0 :(得分:1)

documentation for the .execute method显示方法调用的形式为

执行(sql,*参数)

并指出

  

可选参数可以按DB API所指定的序列或单个值进行传递。

所以,你可以做

surnamereq = 'Thompson'
fname = 'Gord'
#
sql = "UPDATE money_spent SET first_name = ? WHERE last_name = ?"
params = (fname, surnamereq)
cursor.execute(sql, params)

surnamereq = 'Thompson'
fname = 'Gord'
#
sql = "UPDATE money_spent SET first_name = ? WHERE last_name = ?"
cursor.execute(sql, fname, surnamereq)

请注意,第二种方法是DB API的pyodbc专有扩展。