2017-11-08 22 views
0

私はPythonでSQLite3に問題があります(PythonではPython 3.5を使用しています)。インサートは、私がその後のディレクトリにsqlite3.exeを実行する場合は、DBを開いて、cmd.exeのコンソールでコマンドを書くなぜINSERT INTOがPythonで動作しないのですか

import sqlite3 

conn = sqlite3.connect("test.db") 
c = conn.cursor() 
c.execute("DROP TABLE Normal;") # to clean data 
c.execute("CREATE TABLE Normal (Invoice INTEGER);") 
c.execute("INSERT INTO Normal (Invoice) VALUES (24);") 

を動作しません:

sqlite> .open test.db; 
sqlite> select * from Normal; 
sqlite> INSERT INTO Normal (Invoice) VALUES (24); 
sqlite> select * from Normal; 
24 

非常に同じ挿入作業を。私は混乱しています...

+1

は、すべてのエラーメッセージはありますか? – bgse

+0

あなたはCOMMITをやろうとしましたか? –

+0

「うまくいかない」とは具体的ではありません。詳細を追加します。 – kindall

答えて

3

SQLite3のpythonライブラリはトランザクションです。つまり、変更をコミットするまでデータベースにコミットしません。 INSERT INTOステートメントの後

はラインを入れて:

conn.commit() 
+1

私は疲れていますが、どうもありがとうございました。 – user8909538

関連する問題