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

