2012-11-08 4 views
0

데이터베이스가 수정되었지만 명령을 실행하면 오류가 발생합니다.C++ sqlite3 삽입 또는 교체 오류가 발생했습니다.

내 테이블 :

a{ id int primary key not null, name varchar not null, and order int not null } 

내 문 :

string query = "insert or replace into a (id,name,order) values (5,'hi',10)" 
int rc; 
rc = sqlite3_exec(db, query.c_str(), 0,0,&errMsg); 
if(rc != SQLITE_OK){ 
    cout << "Error Code: " << rc << " SQLError: " << errMsg<<endl; 
} 

내가이이 일을 생각하는 방법을 확인 않네. 삽입하는 것은 triyng입니다. 그것은 PK가 일치하는 것을 볼 것입니다 .... 그리고 나서, 그것은 대체 할 것입니다, 그것은 PK를 그 자체로 대체하려고합니까? 나는 확실하지 않았다. RC가 제공하는 리턴 된 ErrorCode는 다음과 같습니다.

1 /* SQL error or missing database */ 
+0

실제 테이블 정의 (제 3 열은 * and *라는 이름이 아닌 것 같군요)와 데이터베이스를 여는 방법을 보여주십시오. –

답변

0

테이블이 DB에 작성되지 않았습니다. 개발자 팀 중 하나가 스키마를 변경하고 이전 테이블을 삭제하고 문서화하지 않고 새 테이블을 추가하거나 어떤 종류의 알림도 제공했습니다.

지금 해결해야합니다.

관련 문제