我已经成功地在SQLAlchemy中使用了批量插入,如下所示:
conn.execute(addresses.insert(), [
{'user_id': 1, 'email_address' : 'jack@yahoo.com'},
{'user_id': 1, 'email_address' : 'jack@msn.com'},
{'user_id': 2, 'email_address' : 'www@www.org'},
{'user_id': 2, 'email_address' : 'wendy@aol.com'},
])
现在我需要的是与“更新”等效的东西。 我试过这个:
conn.execute(addresses.insert(), [
{'user_id': 1, 'email_address' : 'jack@yahoo.com', 'id':12},
{'user_id': 1, 'email_address' : 'jack@msn.com', 'id':13},
{'user_id': 2, 'email_address' : 'www@www.org', 'id':14},
{'user_id': 2, 'email_address' : 'wendy@aol.com', 'id':15},
])
期望根据“id”字段更新每一行,但失败了。我猜原因是没有指定WHERE子句,但不知道如何使用包含在字典中的数据来指定WHERE子句。
有人能帮我吗?
Table
实例中的addresses
指的是什么。 - vanconn.execute(table.insert().values([...]))
比conn.execute(table.insert(), [...])
快得多。 是否有类似的方法可以用于更新以提高速度? - nbarraille