2011-11-08 4 views
0

을 반복 삽입 :sqlite가 어떤 값으로 새로운 행이

id   |  name   |  chapter  | book 

1     hamlet     I    Hamlet 

2     Ismael     IV    Moby Dick 

나는 새 값을 기대하는 동작은 다음과 같습니다 :

같은 이름 &는 & 같은 책 => 문자는 그래서 존재 나는이 테이블이 기존보다 동일한 ID :

2     Ismael     X    Moby Dick 

같은 이름 & & 다른 책 => 문자 할

3     Ismael     XX    The Bible  

내 질문은 : esn't 그래서 ID가 변경 존재

내가 전에 쿼리를 만드는 새로운 값을 삽입 한 다음 새 값을 입력해야합니까?

또는 방아쇠 등을 설정하여 자동으로 수행하는 방법이 있습니까?

TABLE 문

db.execSQL("CREATE TABLE characters (id INTEGER NOT NULL , 
    name TEXT NOT NULL , chapter TEXT NOT NULL , book TEXT NOT NULL);"); 
+0

안녕하세요 butelo, CREATE TABLE 문을 게시 하시겠습니까? – andreasg

+0

완료, 실제로는 매우 간단합니다. – butelo

답변

0

에게 CREATE 내 내가 생각하는 당신이 유일하게 그들을 식별 할 수 있도록 당신의 행의 속성을 분리하는 것이 그렇게하는 가장 우아한 방법. 예를 들어, name + book은 라인을 고유하게 만든 다음,이 문자열을 객체의 하나의 식별자로 연결하고, 데이터베이스에 열을 추가하고, 그 위에 인덱스를 지정하고, 새 요소를 삽입 할 때이 인덱스를 검색 할 수 있습니다. .

+0

그래, 그렇게 할거야. 나는 우리가 Unique 값에 대한 제약 조건을 가지고있는 것처럼 반복 된 값을 관리 할 수있는 방법이 있다고 가정했습니다. 그래서 내가 묻는대로 할 방법이 없다. 문서화만을위한 것입니다. – butelo

+0

내가 잘못하지 않았다면 기본 키로 유니티가 보장되므로 쌍 (이름, 책)을 기본 키로 선언 할 수도 있습니다. 나는 충분할지도 모른다. 뭔가 같은 : http://stackoverflow.com/questions/734689/sqlite-primary-key-on-multiple-columns – Sephy

+0

실제로 그것은 동일한 문자가 나타납니다 때문에 (이름, 책, 챕터) 세 값이어야 할 것이라고. 같은 책에 여러 장이있다. – butelo

관련 문제