无法使用cur.execute更新数据库?

时间:2016-11-08 12:47:27

标签: python mysql sql database mysql-connector

我正在收听python TCP服务器上的端口。我能够在命令行上打印接收的数据。现在,我想更新我的数据库。因为,我经常更新数据库,我使用multi = True。但是,我一直收到错误:

cur.execute(query1, multi=True)
  

AttributeError:'tuple'对象没有属性'encode'

这是我的代码:

print "received data:", data
query1= "UPDATE tablename SET col_value = %s where id= %s",(data[0:3], data[4:])

cur.execute(query1,multi=True)
  

样本数据为:334,6

有谁知道,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

根据documentationmulti=True用于一次执行多个SQL语句,不带参数。对于单个UPDATE,您可以使用:

print "received data:", data
query1 = "UPDATE tablename SET col_value = %s where id= %s"
cur.execute(query1, (data[0:3], data[4:]))