8

Python で sqlite3 を使用している場合、行がテーブルに正常に挿入されたかどうかを確認するにはどうすればよいですか? 例えば

conn = sqlite3.connect("test.db")
c = conn.cursor()

c.execute("INSERT INTO TEST VALUES ('sample text')")

c.commit()
c.close()
4

6 に答える 6

11

execute()またはを呼び出したときに例外がスローされなかった場合は、 を呼び出したときに例外がcommit()挿入されましたcommit()

トランザクションを正常にコミットすることは、挿入がディスクに書き込まれたというデータベース層からの保証です。

于 2012-11-09T18:17:05.460 に答える
2

すべての行を取得して、そこにあるかどうかを確認できます:

SELECT * FROM TEST

しかし、SQLite が機能しなかった場合、エラー メッセージが表示されます。

于 2012-11-09T18:17:25.273 に答える
1

次のようなエラーメッセージを表示してみてください。

    try:
        c.execute("INSERT INTO TEST VALUES ('sample text')")
     except sqlite3.OperationalError, msg:
        print msg
于 2012-11-09T18:45:05.833 に答える
1

count()挿入前と挿入後に行を並べることができます。

于 2012-11-09T18:17:39.173 に答える
0

最初に、カーソルではなく接続オブジェクトでコミットを行う必要があります conn.commit()c.commit()

次にlastrowid、カーソルを調べて、挿入が成功したかどうかを判断できますconn.commit()

c.lastrowid

于 2021-05-06T12:48:58.973 に答える