Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các cách để tránh các Lệnh của MySQLdb không đồng bộ; bạn không thể chạy lệnh này ngay bây giờ (2014) ngoại lệ

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 ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt MySQL với phpMyAdmin trên Debian 7

  2. MySQL cho Visual Studio 2012/2013

  3. Không thể chuyển đến hàng 0 trên chỉ mục kết quả 13 của MySQL

  4. Số lượng Mysql trả về 0 nếu không tìm thấy bản ghi

  5. Mã hóa mật khẩu và tạo muối Crypt (), được thực thi tốt?