对于单个记录更新,我已经尝试了以下代码并且它正在运行。
uid=1
info = Info.query.filter_by(id=uid).first()
info.sold_status ='1'
db.session.add(info)
db.session.commit()
现在我想为多行更新一列。 我试过:
for row in db.session.query(Uninstall.status).all():
print row.status
abc=row.status
abc=uid
db.session.add(row.status)
db.session.commit()
但它不起作用。
提前致谢:)
最佳答案
建议未优化。您可以使用选项来更新: 1.
for row in Uninstall.query: # all() is extra
row.status = new_status
Session.commit()
如果有很多行,它会更快,但它会为每一行调用 UPDATE
。不好,是吗?
2.
Uninstall.query.update({Uninstall.status: new_status})
Session.commit()
对所有行只调用一个UPDATE
查询。
关于python - SqlAlchemy 如何更新所有行的一列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38242654/