2013-06-23 3 views
0

SQLite 데이터베이스에 약 2600 개의 항목이 있습니다. 모든 항목을 삭제하고 업데이트 된 항목을 입력해야합니다. 데이터베이스가 DatabaseHandler 클래스의 데이터베이스 버전을 변경하여 업데이트 될 수 있지만 전체 앱이 업데이트 된 경우에만 수행 할 수 있다는 것을 알고 있습니다. 데이터베이스를 프로그래밍 방식으로 업데이트해야합니다. 이 작업을 수행 할 수 있습니까? 검색했지만 만족스러운 답변을 찾을 수 없습니다. 감사.프로그래밍 방식으로 안드로이드에서 SQLite 데이터베이스를 업데이트 하시겠습니까?

+0

스키마가 동일하면 버전이 동일해야하며 아니요? 해당 레코드를 삭제하고 추가하십시오. 데이터베이스에있는 "데이터의 마지막 버전"토큰을 사용하는 것을 고려하십시오 (외부 소스와의 "모든 최신 동기화"에 적합). – user2246674

+0

즉시 데이터베이스를 바꿀 수 있습니다. 너 뭐 해봤 니? – Andrei

+0

@ user2246674 값을 하나씩 업데이트하는 대신 전체 데이터베이스를 업데이트하는 좀 더 우아한 방법이 있습니까? –

답변

1

난 당신이 비록이 신속하게 그 값을 삭제할 수 있습니다 방법을 어떤이

public void emptyDatabase() { 
    db = this.getWritableDatabase(); 
    db.execSQL("DELETE FROM " + TABLE_Your_Tbl); 
} 

과 같은 몇 가지를 호출 할 수 있습니다 같아요. 버전 번호를 업데이트하지 않고.

플러스 귀하가 언급 한대로 레코드를 삭제하고 새 값을 추가해야합니다. 이러한 값을 업데이트하는 것이 훨씬 빠릅니다.

+0

이미 데이터가 포함 된 행에 해당 값을 추가하면 행이 덮어 쓰여지거나 추가됩니까? –

+0

사용 된 구조에 따라 다릅니다. 기본 키 자동 증가를 사용했다면 삽입 할 수 있지만 이후에는 중복 데이터를 찾을 수 있습니다. 먼저 삭제하고 새 것을 추가하는 것이 좋습니다. –

관련 문제