sqlalchemy:批量插入或更新映射

时间:2016-06-01 11:06:00

标签: sqlalchemy

我想使用sqlalchemy从dicts列表中创建或更新对象。

执行以下操作:session.bulk_update_mappings(MyObject, list_of_dicts)

问题是我得到了完整性错误,因为当我有一些来自list_of_dicts的数据库不在数据库中时。

所以我正在寻找一种方法来为一组对象组合bulk_update_mappings和bulk_insert_mappings。

1 个答案:

答案 0 :(得分:0)

这是特定于数据库的。看一下这个答案:SQLite UPSERT - ON DUPLICATE KEY UPDATE

在MySQL中,我们使用

解决了这个问题
INSERT ... ON DUPLICATE KEY UPDATE ... 

看起来你可以使用

在sqlite中获得相同的结果
INSERT OR IGNORE INTO ... UPDATE ...

确保您定义了正确的主键(或唯一键),以便DB可以识别重复项。