我想用现有值来计算加法。
e.g。 MySQL的:
UPDATE TBL SET val = +1 WHERE id = 1
我如何在SQLAlchemy中完成?
感谢。
答案 0 :(得分:2)
您可以通过SQLAlchemy Core执行此操作,只需引用字段名称(示例来自here):
>>> conn.execute(users.update().
... values(fullname="Fullname: " + users.c.name)
... )
在你的情况下,这可能看起来像......
conn.execute(your_table.update().values(val=your_table.c.val + 1))
如果您需要更复杂的行为,可以查看correlated updates:基本上,创建一个表示所需新值的选择对象(基于旧值)并将其设置为更新对象中的值values
。