总结一下。我在数据库(MySQL)的一行中有数据。该数据在脚本中用于计算值。 for 循环用于计算表中每一行的该值。 问题:存储在变量中的结果意味着必须在同一行的不同列中更新。
我尝试在 for 循环中包含更新命令,但收到错误(见下文)。如果我不在 for 循环中包含更新命令,我只会得到最后一行的结果,但对于所有行!
脚本:
for row in rows:
for col in row:
x = map(str.strip,col.lower().split())
st = map(lambda wo: abo.get(wo, 0), x)
meant = numpy.meant(st)
cur.execute("""UPDATE table_x SET result = %s Where text = %s""",(meant, rows))
不幸的是我收到了这个错误:
Programming Error: (1064, 'You have an error in your SQL syntax; check the manual...
如何使用该行的每个计算值(平均值)更新该列?
最佳答案
正如我所见,rows
是一个列表(或一个可迭代的)
并且在您的查询中,您将占位符与 rows
绑定(bind)(而不是 row
?)
cur.execute("""UPDATE table_x SET 结果 = %s 其中文本 = %s""",(意思是行数)
这很可能会产生语法错误。
关于python - 在Python中用不同的值更新MySQL的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23648145/