Debbi Story

android Room 데이터베이스 Replace 본문

삽질 일기

android Room 데이터베이스 Replace

Debbi 2021. 10. 26. 02:18
728x90

 

 

보통 insert할때 

@Insert(onConflict = OnConflictStrategy.REPLACE)

이렇게 충돌전략을 REPLACE로 많이 설정하게 된다.

기존 데이터에 업데이트를 하는줄 알았지만 그게 아니었다..

기존 데이터베이스에 있던걸 삭제하고 다시 insert가 되는것이었다.

그래서 이 테이블을 부모로하는 자식테이블에 onDelete = ForeignKey.CASCADE 이렇게 보통 CASCADE를 많이 사용해서

부모 데이터가 삭제되면 함께 사라지게 된다. 이것때문에 뭔가 오류가 있었던 기억이 나서 기록해본다 😂