作为变量的 pyodbc 列名



当我想更改要写入的列时,而不是编辑sql字符串,我想使用变量。这似乎有效。我没有收到错误,但数据库没有更新...这有什么问题?

cnxn = pyodbc.connect('DRIVER=FreeTDS;SERVER=dkvmsql08;PORT=1433;DATABASE=dingdong_test;UID=dacsvc-dingdong;PWD=c90346KJHjkhg&%dad742210a3d6fd4436c;T$
cur = cnxn.cursor()
name = Dennis
cur.execute("UPDATE dbo.timestamp  set cur.execute("UPDATE dbo.test  set ?=1 where id=?",name, row.id)

代码中没有显式提交语句,连接调用不包括autocommit=True,因此请尝试在代码末尾添加cnxn.commit()。 :)

查询参数可用于指定列的值,但不能指定列,因此您需要执行以下操作:

name = "yourColumnName"
sql = "UPDATE dbo.timestamp SET [{}]=1 WHERE ID=?".format(name)
cur.execute(sql, row.id)
cur.commit()

相关内容

  • 没有找到相关文章

最新更新