如何更新SQLAlchemy中预定义表中的列?

时间:2016-09-14 18:25:54

标签: python sqlalchemy

我想通过PRIMARY KEY更新表的整个列。例如,添加(或更改)我的数据库中所有用户的电子邮件地址。我怎么做?表的架构是预定义的。我试过了:

s = Session()
u = update(self.Base.classes.myTable).values(value=email).\
    where(myTable.c.id==id)
s.execute(u)

其中emailid是数组(或Pandas系列)。这是来自一个更大的类,所以我保留self.Base.classes,以防出现错误。我需要使用会话而不是使用engine.execute(),如下所示。

更进一步,如果我想更新除URL之外的phone numberemail,是否有一种简单的方法(没有循环)?

更新1:包含更多代码。

更新2:我认为我的问题是id是一个列表。我可能需要使用groupby?如果id不是我能做的列表,那么在MySQL语法中UPDATE myTable SET email=email;

0 个答案:

没有答案