내 iPhone 응용 프로그램에 대한 SQLite 쿼리에 이상한 동작이 발생하기 시작했습니다. "INSERT"문을 실행할 때마다 저널 파일이 내 db 파일 옆에 생성됩니다 (정확한 파일 이름은 "userdata.db-journal"입니다).SQLite에서 저널 파일이 생성되는 이유는 무엇입니까?
문서를 올바르게 이해하면이 저널 파일이 SQLite에서 작업 실패시 롤백 할 수 있도록 사용됩니다. 그러나 작업이 완료되면 파일이 그대로 유지됩니다.
은 'sqlite3_step'함수가 호출되고 후에 저널 파일이 생성sqlite3 *db = NULL;
sqlite3_open("userdata.db", &db);
sqlite3_stmt *insertStmt = NULL;
const char *query = "INSERT INTO table VALUES(?,?)";
sqlite3_prepare_v2(db, query, -1, &insertStmt, NULL);
sqlite3_bind_int(insertStmt, 1, 0);
sqlite3_bind_int(insertStmt, 2, 0);
sqlite3_step(insertStmt);
sqlite3_reset(insertStmt);
sqlite3_clear_bindings(insertStmt);
sqlite3_close(db);
이 상태로 유지 :
나는 쿼리 (단순에 대한 반환 값 없음 검사)를 준비, 바인딩 및 실행하기위한 고전적인 단계를 수행 내가 DB를 닫을 때까지. 나가기 위해서 무엇을해야합니까?