如何通过递增某些字段来更新多个记录(在我的例子中id)?
我错过了一张唱片,整张桌子都动了。
如何在一笔交易或一次查询中做到这一点?或者最快的方法是什么?
试过类似下面的东西,但它太慢了。
rows = session.query(Table).all()
for row in rows:
row.id = row.id + 1
session.commit()
还尝试使用类似的东西,但它对我不起作用:
session.query(Table)\
.filter(Table.id == row.id)\
.update({'id': row.id + 1})
我拥有的数据示例:
ID Value
1 A
2 B
3 C
< -- D is missing here
4 E
5 F
在这里,如果字母表应该D有 ID=4,那么我需要递增E和F。
当你有 5 条记录时,这并不复杂,但当你有数百万或数十亿条记录时,问题就会出现。
慕莱坞森
相关分类