我想通过PRIMARY KEY更新表的整个列。例如,添加(或更改)我的数据库中所有用户的电子邮件地址。我怎么做?表的架构是预定义的。我试过了:
s = Session()
u = update(self.Base.classes.myTable).values(value=email).\
where(myTable.c.id==id)
s.execute(u)
其中email
和id
是数组(或Pandas系列)。这是来自一个更大的类,所以我保留self.Base.classes
,以防出现错误。我需要使用会话而不是使用engine.execute()
,如下所示。
更进一步,如果我想更新除URL
之外的phone number
和email
,是否有一种简单的方法(没有循环)?
更新1:包含更多代码。
更新2:我认为我的问题是id
是一个列表。我可能需要使用groupby
?如果id
不是我能做的列表,那么在MySQL语法中UPDATE myTable SET email=email;
。