我設法在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