DB-API cố gắng tự xử lý các giao dịch, bắt đầu một giao dịch trên lệnh đầu tiên và có lệnh gọi API riêng để cam kết, vì vậy:
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()
Theo ý kiến của tôi, đây là một lỗi thiết kế nghiêm trọng, rõ ràng của DB-API của Python, khiến việc thực thi các lệnh bên ngoài các giao dịch và kiểm soát các giao dịch trở nên phức tạp, ví dụ:để sử dụng những thứ như BEGIN EXCLUSIVE TRANSACTION
của SQLite . Giống như thể một người nào đó không có kinh nghiệm cơ sở dữ liệu thực được phép thiết kế API ...