如果在MySQL中你想批量更新一些已经准备好的数据而不是简单的UPDATE SET
的话,还是有点小难办的。去网上查询会建议你使用INSERT ... ON DUPLICATE KEY UPDATE
等方法。
虽然INSERT ... ON DUPLICATE KEY UPDATE
不失为一个好的方法,但是总觉得怪怪的,我认真谷歌了一下发现SQLAlchemy官方还是支持批量更新的实现,只是最后将语句转化成了一条条的UPDATE SET
语句。
Stack Overflow的讨论话题Bulk update in SQLAlchemy Core using WHERE
我们看下例子:
1 | from sqlalchemy.sql.expression import bindparam |
上面 最后还是要拆成四条
UPDATE SET
语句执行的
当参数是多个值的时候 会执行executemany
函数
推荐阅读: