mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			17 lines
		
	
	
	
		
			568 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			17 lines
		
	
	
	
		
			568 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import sqlite3 | ||
|  | 
 | ||
|  | con = sqlite3.connect(":memory:") | ||
|  | con.execute("create table person (id integer primary key, firstname varchar unique)") | ||
|  | 
 | ||
|  | # Successful, con.commit() is called automatically afterwards | ||
|  | with con: | ||
|  |     con.execute("insert into person(firstname) values (?)", ("Joe",)) | ||
|  | 
 | ||
|  | # con.rollback() is called after the with block finishes with an exception, the | ||
|  | # exception is still raised and must be catched | ||
|  | try: | ||
|  |     with con: | ||
|  |         con.execute("insert into person(firstname) values (?)", ("Joe",)) | ||
|  | except sqlite3.IntegrityError: | ||
|  |     print("couldn't add Joe twice") |