반응형
Android SQLite : 삽입 / 바꾸기 메서드의 nullColumnHack 매개 변수
Android SDK에는 SQLite로 데이터를 조작하는 몇 가지 편리한 방법이 있습니다. 그러나 삽입 및 바꾸기 방법은 nullColumnHack
내가 이해하지 못하는 사용법을 사용합니다.
문서에서는 다음과 같이 설명하지만 테이블에 허용되는 여러 열이있는 경우 NULL
어떻게됩니까? 나는 그것을 정말로 이해하지 못한다 : /
SQL은 완전히 빈 행을 삽입하는 것을 허용하지 않으므로 initialValues가 비어 있으면이 열 [ / row for replace ]에 명시 적으로
NULL
값 이 할당됩니다 .
foo
모든 열이 NULL
값을 허용 하거나 기본값 을 갖는 테이블이 있다고 가정 해 보겠습니다 .
일부 SQL 구현에서는 유효한 SQL이됩니다.
INSERT INTO foo;
SQLite에서는 유효하지 않습니다. 최소한 하나의 열을 지정해야합니다.
INSERT INTO foo (somecol) VALUES (NULL);
따라서 빈 ContentValues
을에 전달하는 경우 insert()
Android 및 SQLite에는 할당 NULL
하기에 안전한 열이 필요 합니다. 선택할 수있는 열이 여러 개있는 경우 주사위 굴림, Magic 8-Ball (TM), 동전 뒤집기, 큐비클 메이트 뒤집기 등 원하는 선택 메커니즘을 통해 하나를 선택합니다.
개인적으로 빈 ContentValues
을 에게 전달하는 것을 불법으로 insert()
만들었지 만 그들은 나에게 묻지 않았습니다 ... :-)
반응형
'developer tip' 카테고리의 다른 글
Spring Boot에서 모든 데이터베이스 관련 자동 구성 비활성화 (0) | 2020.08.28 |
---|---|
Python에서 파일 읽기 및 덮어 쓰기 (0) | 2020.08.28 |
Mongoid 및 mongodb와의 관계를 통해 has_many를 구현하는 방법은 무엇입니까? (0) | 2020.08.28 |
델리게이트 또는 람다로 스톱워치 타이밍을 래핑 하시겠습니까? (0) | 2020.08.28 |
파일이 존재하는지 확인하는 빠른 테스트 방법은 무엇입니까? (0) | 2020.08.28 |