마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sqlite primary key

0 추천
ID INTERGER, NAME TEXT PRIMARY KEY, AGE TEXT, PHONE TEXT

 

이런식으로 db에 insert 하는데 NAME이 중복되어도 계속 추가되는건 어떻게 방지해야 할까요?

enerigpy (2,110 포인트) 님이 2022년 11월 14일 질문

1개의 답변

0 추천
 
채택된 답변

Entity 클래스에 name field에 index를 추가히셔야 할 것 같은데요.  (코틀린 문법이므로 컴파일 에러시, Java에 맞게 고치시기 바랍니다.)

@Entity(indices = {@Index(value = {"NAME"},
        unique = true)})

그리고 DAO 클래스의 메소드에 insert에 대한 옵션을 추가하세요.
https://developer.android.com/reference/android/arch/persistence/room/OnConflictStrategy

https://sqlite.org/lang_conflict.html

@Insert(onConflict = OnConflictStrategy.IGNORE)
spark (227,530 포인트) 님이 2022년 11월 14일 답변
enerigpy님이 2022년 11월 14일 채택됨
...