반응형
SQLite에서 Insert와 Update를 함께 처리 할 수 있는 "insert or replace" 문법이 있습니다.
SQLite의 "insert or replace"에 대해서는 아래의 링크를 참고하세요.
SQLiteDatabase의 replace 메소드는 데이터가 없으면 Insert를 하고, 데이터가 있으면 Update합니다.
단, 테이블에 PK가 지정되어야 Insert와 Update가 정확히 작동합니다.
PK가 지정되어 있지 않으면 무조건 Insert로 작동됩니다.
String dbFilePath = "/data/data/my_package/database/db.sqlite"
SQLiteDatabase db = SQLiteDatabase.openDatabase(dbFilePath, null, SQLiteDatabase.OPEN_READWRITE);
ContentValues values = new ContentValues();
values.put("ID", "ID-001");
values.put("SORT", 1);
values.put("NAME", "테스트 아이템");
values.put("IS_CHECK", "Y");
db.replace("ITEMS", null, values);
반응형
댓글