我想使用sqlalchemy从dicts列表中创建或更新对象。
执行以下操作:session.bulk_update_mappings(MyObject, list_of_dicts)
问题是我得到了完整性错误,因为当我有一些来自list_of_dicts的数据库不在数据库中时。
所以我正在寻找一种方法来为一组对象组合bulk_update_mappings和bulk_insert_mappings。
答案 0 :(得分:0)
这是特定于数据库的。看一下这个答案:SQLite UPSERT - ON DUPLICATE KEY UPDATE
在MySQL中,我们使用
解决了这个问题INSERT ... ON DUPLICATE KEY UPDATE ...
看起来你可以使用
在sqlite中获得相同的结果INSERT OR IGNORE INTO ... UPDATE ...
确保您定义了正确的主键(或唯一键),以便DB可以识别重复项。