2013-04-05 3 views
1

내 삽입 진술 후 last_insert_rowid()을 얻고 싶습니다.안드로이드 Sqlite : 삽입 후 last_insert_rowid()

SQLiteDatabase.execSQL()을 사용하고 싶었지만 거기에 select 문을 사용할 수 없다고 말합니다.

어떻게 last_insert_rowid()을 사용할 수 있습니까?

+1

그것은 당신을 도울 수 아래 스레드 http://stackoverflow.com/questions/4017903/get-last-inserted-value-from-sqlite-database-android을 확인하시기 바랍니다. – Amit

+0

또한 db.rawQuery ("SELECT last_insert_rowid()", null)를 사용하고 커서에서 값을 가져올 수 있습니다. – Amit

+0

@Amit tnx 이것은 내가 찾고 있었던 것입니다 –

답변

1

나는 당신이 sqlite 데이터베이스에 데이터를 삽입하기 위해이 메소드를 사용했다고 생각한다.

다른 방법을 사용할 필요가 없습니다.

공공 긴 삽입 (문자열 테이블, 문자열 nullColumnHack, ContentValues ​​값)

매개 변수

테이블

nullColumnHack 옵션에 행을 삽입 할 테이블; null 일 가능성이있다. SQL은 최소한 하나의 열 이름을 지정하지 않고 완전히 비어있는 행을 삽입하는 것을 허용하지 않습니다. 제공된 값이 비어 있으면 열 이름을 알 수 없으며 빈 행을 삽입 할 수 없습니다. null로 설정되지 않은 경우, nullColumnHack 매개 변수는 값이 비어있는 경우에 NULL을 명시 적으로 삽입 할 수 있도록 널 (NULL) 입력 가능 컬럼 이름의 이름을 제공합니다.

이지도는 행의 초기 열 값을 포함합니다. 키들은 컬럼 이름이어야하며 숫자 열 그것은 행 새로 삽입 된 행의 ID, 또는 리턴

값 -1에 오류가 발생한 경우

같은

long a = database.insert("animals", null, values); 

a이 테이블의 행 ID입니다.

관련 문제