2011-03-07 2 views
0

내 응용 프로그램의 begininng에서 나는 기존 sqlite3 DB에서 sqlite3 명령을 실행하고 있습니다. 명령은 그렇게 간다 : 무슨 일하는 내 모든 데이터가 손실됩니다이며, "저널"파일을 보여주는 (그리고 삭제되지 않습니다)되어sqlite3 alter command 내 db 삭제

sqlStmt = "ALTER TABLE projects ADD COLUMN guid integer DEFAULT 0"; 
if (sqlite3_prepare_v2(db, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK){ 
    sqlite3_step(compiledStmt); 
} 

. 나는 무엇을하지 않습니까 - 거래 및 잠금과 관련이 있다는 것을 알고 있습니다. 도와주세요.

답변

0

이것은 Sqlite가 복잡한 연산을 지원하지 않기 때문에 정상적인 동작입니다. 하십시오,

refer to the documentation. 그래서, 당신이해야 할 모든은 다음과 같습니다

  1. 임시 테이블을 만듭니다.
  2. 모든 데이터를 입력하십시오.
  3. 초기 표를 버리십시오.
  4. 새 필드가있는 표를 만듭니다. 당신이 도움을 원한다면
  5. 은 우리에게 당신의 테이블 구조를 제공, 새로운 테이블

에 임시 테이블에서 데이터를 전송합니다.

+0

이제는 이해합니다. 감사! –