2012-03-21 4 views
5

를 업데이트하지 않습니다 나는 다음과 같은 코드를 가지고 :이 스크립트를 실행할 때SQLite는 파이썬 테이블

import sqlite3 

con = sqlite3.connect("testDB") 
cur = con.cursor() 

#cur.execute('CREATE TABLE test_table (id integer primary key, data text)') 
cur.execute('INSERT INTO test_table VALUES (?, ?)', (76, 'MyData')) 

이 테이블을 업데이트하지 않습니다. 그러나 Linux에서 sqlite3 명령 줄을 사용하여 동일한 삽입 작업을 수행하면 업데이트됩니다. 내가 왜 잘못하고있는 이유는 무엇입니까?

답변

10
# Save (commit) the changes 
con.commit() 
+0

con.commit()이 작업은 모든 작업이 완료된 후에 수행해야합니다. 그렇지 않으면 각 con.execute() 문을 실행 한 후에 커밋 할 수 있습니까? – user873286

+0

다른 프로그램이 즉시 데이터를보고 싶다면 즉시 커밋해야합니다. 그렇지 않으면 마지막에 커밋 할 수 있습니다. – kev

1

삽입 절 다음에 커밋을 시도 했습니까?

+0

con.commit() 작동하지만 con.commit()이 모든 작업이 완료된 후 수행해야합니다, 또는 각 con.execute() 문 후 커밋 할 수 있습니까 ??? 커밋의 주요 목적은 무엇입니까? – user873286

+0

'커밋'은 테이블의 모든 변경을 완료하는 것입니다 ...하지만 마지막 상태로 되돌리려면 '롤백 절' –