2014-04-04 3 views
0

업데이트 1 : 다른 줄이 작동합니다 (도움에 감사드립니다!). ","근처 : 지금은 다음을 실행하려고하고, 하나이 늘 작품은 내가 라인 (13)에 대한 오류 얻을 : sqlite3.OperationalError을 구문 오류 코드가sqlite3.OperationalError : near ",": 구문 오류

을 다음과 같이

cur.execute("CREATE TABLE Progress(Id INTEGER PRIMARY, Username STRING, Topic1 STRING, Topic2 STRING, Topic3 STRING, Topic4 STRING, 1Result STRING, 2Result STRING, 3Result STRING, 4Result STRING, TResut STRING, TCorrect INTEGER, TWrong INTEGER, TAttempted INTEGER)") 
cur.exectue("INSERT INTO Progress VALUES(1, 'Admin', 'Algebra', 'Number', 'Shape, Space and Measures', 'Handling Data', '100%', '100%', '100%', '100%', '100%', '10', '0', '10')") 

나는 아래 테이블에 입력에 일부 데이터를 시도하고 같은 SQL 테이블을 만들었습니다,하지만 난 다음 오류가 점점 계속 : sqlite3.OperationalError : "1"근처 : 구문 오류

con = lite.connect('Records.db') 
with con: 
    cur = con.cursor() 
    cur.execute("CREATE TABLE Questions(Id INTEGER PRIMARY KEY, Question STRING, Answer STRING, Mark INTEGER, Topic STRING, Incorrect STRING, QType STRING)") 
    cur.execute("INSERT INTO Questions(1, 'What is 2/3 of 6?', '4', '1', 'Fractions', 'None', 'Numerical')") 
+0

다음은 정답입니다. 또한이 명령의 "전체"버전을 사용하는 것이 바람직합니다. INSERT INTO 질문 (ID, 질문, 답변, 표시, 주제, 잘못된, QType) VALUES (1, '6 분의 2는 무엇입니까?', '4', '1', 'Fractions', 'None', 'Numerical')'데이터베이스 구조에 대한 이후 변경 사항에 대해보다 안전하기 때문입니다. –

+0

오오오 .... 잊어 버린 VALUES –

답변

1

INSERT statement은 잘못 ; 거기에 VALUES 키워드가 필요합니다. 그것은해야한다 : 당신은 열을 를 배치했다

cur.execute("INSERT INTO Questions VALUES (1, 'What is 2/3 of 6?', '4', '1', 'Fractions', 'None', 'Numerical')") 
#       --------^^^^^^ 

SQL 열 이름의 (선택 사항) 목록을 기대할 수있는 곳.

1

당신이에서 찾을 수 있습니다 수행 할 작업에 대한 구문, http://sqlite.org/lang_insert.html 당신의 예에서

, 사용자가 입력하는 것,

cur = con.cursor() 
cur.execute("CREATE TABLE Questions(Id INTEGER, Question STRING, Answer STRING)") 
cur.execute("INSERT INTO Questions VALUES(1, 'What is 2/3 of 6?', '4')") 

나는 것이 도움이 테스트를 위해 편리 SQLite는 환경 전을 찾을 파이썬 코드로 커밋합니다.

관련 문제