2014-11-07 2 views
-1

iPhone에 SQLite와 함께 행을 삽입하려고합니다. 이 계획에SQLite 행을 삽입 할 때 정의되지 않은 오류가 발생합니다.

DB.query('INSERT INTO documents (title, anything, largeImage, author, isbn) VALUES (?,?,?,?,?)', [ 'title', 'jgfu', 'mop', 'author', 40 ]); 

:

{ 
     name: 'documents', 
     columns: [ 
      {name: 'id', type: 'integer primary key'}, 
      {name: 'title', type: 'text'}, 
      {name: 'anything', type: 'text'}, 
      {name: 'author', type: 'text'}, 
      {name: 'isbn', type: 'integer'}, 
      {name: 'largeImage', type: 'text'}, 
      {name: 'bookType', type: 'text'} 
     ] 
    } 

그리고 SQLite는 작동하지 않습니다. 나는이 코드를 작성하는 경우

는 :

DB.query('INSERT INTO documents (title, largeImage, author, isbn) VALUES (?,?,?,?)', [ 'title', 'mop', 'author', 40 ]); 

은 OK입니다! cols, values, col의 형식을 뒤집어 봅니다. 그것은 동일합니다, 작동하지 않습니다. 오류는 aleatory 것 같습니다. 아무도 모르게됩니다.


편집 :이 두 번째 COLS 생각 문제 {: '아무것도'입력 : 이름 '텍스트'}이, 부패를?

+0

무엇이 오류입니까? –

+0

잘 모르겠다. 오류가없고 삽입이 없다. – dmassiani

+0

내 마지막 insertID가 정의되지 않은 오류를 직면했다. 내 경우 문제는 테이블이 아직 작성되지 않았다는 것이다. 끼워 넣다. –

답변

0

SQLite는 이름에 대해 매우 까다 롭습니다. SQLite 문에서 이름을 이스케이프하는 것이 좋습니다.

DB.query('INSERT INTO `documents` (`title`, `anything`, `largeImage`, `author`, `isbn`) VALUES (?,?,?,?,?)', [ 'title', 'jgfu', 'mop', 'author', 40 ]); 
+0

아무것도 더 없습니다. 제목은 "문자열 문자열 문자열"과 같이 될 수 있으며, 공간은 오류를 생성 할 수 있습니까? – dmassiani

+0

공백과 예약어. 그래서 내가 항상 탈출하는 것입니다. 'key' 또는'value'라는 필드가 필요하다면, SQLite에서 예약어로 쓰이는 것은 아무것도 생략하지 않으면 쿼리가 중단됩니다. –

+0

나는 더 많은 뉴스를 가지고있다. 나는 OSx와 우분투에서 작업하며 우분투에는 오류가 없다. 삽입은 괜찮다. .db가 부패했다고 생각할 수 있습니까? – dmassiani

관련 문제