나는 500 개 이상의 질의 응답을 저장 한 튜토리얼 앱을 개발했습니다. 은 즐겨 찾기라는 테이블이 하나 더 있습니다. 사용자 입력 용입니다. 이제 새로운 질문과 답변으로 앱을 업데이트하고 싶습니다. 하지만 즐겨 찾기 테이블의 데이터를 지우고 싶지 않습니다 (사용자가 즐겨 찾기에 몇 가지 질문을 표시 했으므로 해당 질문을 즐겨 찾기에서 지워서는 안 됨)SQLiteAssetHelper를 사용하여 데이터베이스 행을 새로운 행으로 업그레이드하는 방법
어떻게 할 수 있습니까? 때문에 데이터베이스 연결을 위해 SQLassethelper 라이브러리를 사용했습니다.
예전 DB에는 다음이 포함
- 데이터 테이블 (정적 테이블)
- 즐겨 찾기 테이블 (로컬 테이블)
때문에, sqliteassethelper 설명서에 따라 나는 나의 새로운 DB를 추가 : : 업데이트 된 데이터 테이블. 나는 여기에 삽입 된 즐겨 찾기 테이블을 삽입하지 않았다. 그것은 스크립트 파일에서 생성 될 것이다. 그리고 해당 데이터베이스를 assets >> databases 폴더에 저장합니다.
는 내가 스크립트
alter table "favourites" rename to "favourites_tmp";
create table "favourites" (
"id" Integer not null primary key autoincrement unique,
"question" text,
"answer" text,
"category" text,
"catid" integer
);
insert into "favourites" ("id","question","answer","category","catid") select from "favourites_tmp" "id","question","answer","category","catid" from "favourites_tmp";
drop table "favourites_tmp";
그래서 내가 여기에 생각 즐겨 찾기 표는 이전 데이터로 생성됩니다 db.db_upgrade_1-2.sql 을 Fild입니다 만들었습니다. 하지만 프로젝트를 실행하면 다음과 같이 표시됩니다.
에서 [SQLiteAssetHelper]의 섹션이있다가 (https://github.com/jgilfelt/android-sqlite-asset-helper) 업그레이드와 관련된 README. – PPartisan
하지만 테이블을 변경하고 싶지 않습니다. 난 그냥 특정 테이블 –
에 추가 데이터 (행)를 삽입하고 내가 readme 파일을 읽고, 그것은 테이블을 변경에 대한 정보가 포함되어 있습니다. –