DB-API mencoba menangani transaksi sendiri, memulai transaksi pada perintah pertama dan memiliki panggilan API sendiri untuk mengkomitnya, jadi:
cursor.execute( "CREATE TABLE t1 ( t1_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()
cursor.execute( "CREATE TABLE t2 ( t2_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()
Menurut pendapat saya, ini adalah kesalahan desain yang serius dan mencolok dari DB-API Python, membuatnya sangat merepotkan untuk menjalankan perintah di luar transaksi dan memiliki kontrol yang tepat atas transaksi, mis. untuk menggunakan hal-hal seperti BEGIN EXCLUSIVE TRANSACTION
SQLite . Seolah-olah seseorang yang tidak memiliki pengalaman database nyata diizinkan untuk mendesain API...