본문 바로가기
메모 log (간단메모)/mobile

'ForeignKey' 참고사항

by abbear25 2020. 2. 22.
@Entity(tableName = "tb_picture", indices = arrayOf(Index(value = arrayOf("id"))),
    foreignKeys = arrayOf(ForeignKey(
            entity = Task::class, parentColumns = arrayOf("id"), childColumns = arrayOf("id"),
            onUpdate = ForeignKey.CASCADE,
            onDelete = ForeignKey.CASCADE
        ))
)

자식 테이블에 인덱스 작성

부모 테이블이 수정될 경우 전체 테이블 스캔을 피하기 위해서 

*인덱스가 없는 경우 RoomWarnings 경고 출력

 

관련 제약 조건

No Action (value: 1): default, 아무 것도 하지 않음

Restrict (value: 2): 하위 테이블에서 참조하고 있는 상위 테이블 값 변경 불가능 지정

Set Null (value: 3): 참조하는 상위 테이블의 값이 변경되거나 삭제된 경우, 하위 테이블 값을 모두 null로 변경

set Default (value: 4): 테이블 생성시 지정한 기본 값으로 변경

Cascade (value: 5): 참조하는 상위 테이블의 값이 변경되거나 삭제된 경우, 하위 테이블 값을 동일하게 변경하거나 삭제

반응형

'메모 log (간단메모) > mobile' 카테고리의 다른 글

'Event 등록' ACC  (0) 2020.03.18
'stetcho' 디버깅  (0) 2020.03.01
'permission' 권한 요청  (0) 2020.02.20
navigation 이용시 label 변경  (0) 2020.02.16
setHasOptionsMenu(true)  (0) 2020.02.08