2013-07-12 4 views
3

저는 파이썬에서 sqlite3 바인딩을 사용하고 있으며, 매우 익숙합니다. 내 프로그램을 실행하면 : 테스트 할 수 있기 때문에, 나는 sqlite3는 플레이 데이터베이스를 소유 개설 및 실행 할 수 있었다, 나를 혼란내 OperationalError에 대한 자세한 정보를 얻는 방법

sqlite3.OperationalError: near ",": syntax error 

:

cursor.execute('INSERT OR IGNORE INTO UpdateTypes (name) VALUES (?), (?), (?), (?), (?)', 
    ('battery', 'missing', 'rssi', 'hear', 'status')) 

을 나는 다음과 같은 얻을

INSERT OR IGNORE INTO UpdateTypes (name) VALUES ('battery'), ('missing'), ('rssi'), ('hear'), ('status'); 

그래서 이것을 알아야하며, 내가 한 일에 대한 잘못된 대답을 환영합니다.

하지만 내가 무엇 정말로에 관심이있는 사람은 무엇이 잘못되었는지에 대한 심층적 인 정보를 얻는 방법입니다. 예를 들어, sqlite3 모듈 기능을 사용하여 실제 SQL 구문을 확인하기 위해 대체 엔진을 실행할 수 있습니까?

답변

1

단일 INSERT 문에 여러 레코드를 지정할 수있는 기능이 SQLite 3.7.11에 추가되었습니다.

sqlite3 명령 줄 도구로 충분합니다. 파이썬에 포함 된 SQLite의 버전이 아닙니다 (체크 SELECT sqlite_version();).

+0

감사합니다. 그걸 전혀 확인하지 않았을거야. 파이썬 모듈이 sqlite 바인딩에 보내는 내용의 흔적을 방출하도록 구성하는 방법이 있다면 저는 여전히 궁금합니다. –

관련 문제