import sqlite3

db = sqlite3.connect(":memory:")

db.execute("create table foo (x text primary key)")

c = db.cursor();

try:
 c.execute("insert into foo values('x')")
 c.execute("insert into foo values('x')")
 db.commit()
except db.Error:
 print "Error"
 db.rollback()

print c.execute("select * from foo ").fetchall()

db.close();