我需要向數據庫寫入很多簡單的記錄,並使用orm方法,因爲它非常慢,所以我決定嘗試原始SQL。我寫了代碼,這裏是:使用原始數據庫時數據庫沒有變化
for row in rows:
name = row.split('\t')[0].lower()
print name
try:
cursor.execute("INSERT INTO domain_browser_domain (name) VALUES (%s)", [name])
except django.db.utils.IntegrityError:
continue
問題是......它實際上並沒有寫入任何數據庫。字段name
被定義爲唯一,所以當execute
方法不在try
塊中時,它返回IntegrityError
,因爲數據庫中已經有一些記錄。
哪個DBMS?在一些你必須明確提交 – Jacopofar 2013-03-18 13:32:23
那麼你得到什麼數據庫錯誤? – Sergio 2013-03-18 13:33:20
我沒有得到任何python例外。我使用SQLite。 – 2013-03-18 14:31:52