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();