2014-05-17 5 views
3

ID 테이블 AUTOINCREMENT가있는 동시에 테이블에 2 개의 레코드를 삽입합니다. 이전에 두 번째 레코드 ID에 할당 할 수 있습니까? 그래서 내가 레코드를 삭제할 때 그 ID를 사용하여 삭제 되는가?안드로이드 SQLite는 동일한 ID를 가진 2 개의 행을 삽입합니다

+0

ID로 기본 속성을 설정하지 않은 경우 수동으로 다른 행에 동일한 값을 2 개 삽입 할 수 있습니다. 'ContentValues ​​values ​​= new ContentValues ​​(); values.put ("id", id); ' id를 수동으로 추가하지 않으면 해당 행에 id가 자동으로 추가됩니다. –

+0

2 레코드에 동일한 ID를 어떻게 할당 할 수 있는지 예를 들려 줄 수 있습니까? –

답변

3

동일한 ID로 두 개의 다른 행이 필요하고 ID 필드에 자동 기록이 사용 설정된 경우 동일한 ID를 부여 할 수 없습니다. 그것은 여러 가지 이유로 나쁜 생각 일 것입니다.

나는 당신이해야 할 일은 데이터베이스 및/또는 테이블 구조를 다시 생각하는 것입니다. 나는 당신이 다른 테이블에 행을 넣고 행 중 하나를 다른 행에 의존하도록 제안 할 것입니다. 그런 다음 테이블에서 동일한 ID를 가지게하고 다른 테이블에서 두 행을 모두 삭제할 ID를 하나 가질 수 있습니다.

+0

다른 해결책을 제안 할 수 있습니까? 관련 정보가있는 2 개의 레코드를 함께 넣을 때마다 하나를 삭제하면 다음 레코드도 삭제해야합니다. –

+0

@DeboraCarnevali 내 제안이 무효화되는 것을 어떻게 보는지 모르겠다. 이 레코드가 관련되면 동일한 ID를 가진 두 개의 서로 다른 테이블에 두는 것이 좋습니다. 그런 다음 다음과 같이 삭제할 수 있습니다. DELETE t, tb FROM 표 t JOIN table_b tb ON tb.id = t.id AND t.id 1 – plocks

+0

오케이, 조인을 알고 있습니다. 하지만 데이터베이스에 6 개의 테이블이 있고 다른 테이블을 만들고 싶지 않습니다. 어쨌든 고마워, 나는 너의 대답을 받아 들인다. –

관련 문제