Python で sqlite3 を使用している場合、行がテーブルに正常に挿入されたかどうかを確認するにはどうすればよいですか? 例えば
conn = sqlite3.connect("test.db")
c = conn.cursor()
c.execute("INSERT INTO TEST VALUES ('sample text')")
c.commit()
c.close()
execute()
またはを呼び出したときに例外がスローされなかった場合は、 を呼び出したときに例外がcommit()
挿入されましたcommit()
。
トランザクションを正常にコミットすることは、挿入がディスクに書き込まれたというデータベース層からの保証です。
すべての行を取得して、そこにあるかどうかを確認できます:
SELECT * FROM TEST
しかし、SQLite が機能しなかった場合、エラー メッセージが表示されます。
次のようなエラーメッセージを表示してみてください。
try:
c.execute("INSERT INTO TEST VALUES ('sample text')")
except sqlite3.OperationalError, msg:
print msg
count()
挿入前と挿入後に行を並べることができます。
最初に、カーソルではなく接続オブジェクトでコミットを行う必要があります
conn.commit()
。c.commit()
次にlastrowid
、カーソルを調べて、挿入が成功したかどうかを判断できますconn.commit()
c.lastrowid