我设法在SQLAlchemy中与批量插入工作,如:批量更新使用WHERE
conn.execute(addresses.insert(), [
{'user_id': 1, 'email_address' : '[email protected]'},
{'user_id': 1, 'email_address' : '[email protected]'},
{'user_id': 2, 'email_address' : '[email protected]'},
{'user_id': 2, 'email_address' : '[email protected]'},
])
我现在需要的是等价的东西进行更新。我试过这个:
conn.execute(addresses.insert(), [
{'user_id': 1, 'email_address' : '[email protected]', 'id':12},
{'user_id': 1, 'email_address' : '[email protected]', 'id':13},
{'user_id': 2, 'email_address' : '[email protected]', 'id':14},
{'user_id': 2, 'email_address' : '[email protected]', 'id':15},
])
期望每行根据'id'字段进行更新,但它不起作用。我认为这是因为我没有指定WHERE子句,但我不知道如何使用字典中包含的数据指定WHERE子句。
有人可以帮我吗?
主键怎么样刀片也依赖于几种选择? – Aidis 2017-07-05 11:54:29
'update()缺少1个需要的位置参数:'values'',这个例子中的地址是什么? – 2017-09-06 11:32:02
@HeddevanderHeide:''Table']的实例中的'addresses'(http://docs.sqlalchemy.org/en/latest/core/metadata.html#sqlalchemy.schema.Table) – van 2017-09-06 13:43:37