2016-06-01 5 views
0

sqlalchemy를 사용하여 dicts 목록에서 개체를 만들거나 업데이트하려고합니다. session.bulk_update_mappings(MyObject, list_of_dicts)sqlalchemy : 일괄 삽입 또는 업데이트 매핑

그리고 나는 list_of_dicts의 일부가있을 때 문제가 나는 경우에, 무결성 오류가 발생하고 있다는 점이다 데이터베이스에없는 : 같은 일을

.

그래서 저는 한 세트의 객체에 대해 bulk_update_mappings와 bulk_insert_mappings을 결합하는 방법을 찾고 있습니다.

+0

어떤 백엔드입니까? MySQL은? PostgreSQL? – univerio

+0

sqlite3 백엔드 –

답변

0

이것은 DB에 따라 다릅니다. 이 답변에서보세요 : MySQL의에서 SQLite UPSERT - ON DUPLICATE KEY UPDATE

우리는이 문제를 해결 당신이 있는지 확인

INSERT OR IGNORE INTO ... UPDATE ... 

를 사용하여 SQLite는 동일한 결과를 얻을 수 있습니다처럼

INSERT ... ON DUPLICATE KEY UPDATE ... 

보이는 사용하여 DB가 dup을 식별 할 수 있도록 정의 된 올바른 기본 (또는 고유 한) 키.