SQLite
データベースに新しいレコードを挿入しようとしています。Python
コードです。SQLiteデータベースに挿入された行の数が負である
con = sqlite.connect(connectionString)
cur = con.cursor()
countOfNewItems = 0
for ...
try:
con.execute("insert or ignore into items ...")
countOfNewItems += cur.rowcount
except:
cur.close()
con.close()
print "Error when inserting item '%s' to database." % item
exit(1)
cur.close()
con.commit()
con.close()
print "%d new items have been inserted." % countOfNewItems
マイコードは、負の挿入レコード数(-5141)を報告します。
私のデータベースが空だったので、私は、コマンドラインを介して
select count(*) from items;
あなたは間違っているものを私に助言でし挿入されたレコードの数を見つけることができます。なぜ2つの値が一致せず、なぜそれが負であるのか?
あまりにも速く...ほぼ正確に私がタイピングの途中だったもの。私はそれがどれほど奇妙であるかを見るために、各ループを通して行数を表示することをお勧めします。 –
これは私の愚かな誤操作でした。 Markが言ったように、私は行数を印刷しようとしたときに気づいた。私は 'con.execute'と打ち込んでしまい、不自由なところで' cur.execute'と打ったかのように動作しました。しかし、私はこの答えを受け入れることができると思います。他人がこのミスの可能性を知ることは良いかもしれません。 – xralf