如何使用SQLAlchemy在MySQL中添加类似“value = +1”的值来更新值?

时间:2012-12-23 04:17:31

标签: python sqlalchemy

我想用现有值来计算加法。

e.g。 MySQL的:

   UPDATE TBL SET val = +1 WHERE id = 1

我如何在SQLAlchemy中完成?

感谢。

1 个答案:

答案 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