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

node.js mysql pool beginTransaction &connection

Một giao dịch không thể được chia sẻ bởi nhiều kết nối cơ sở dữ liệu và luôn bị giới hạn trong một kết nối duy nhất. Cách tiếp cận tốt nhất là có được kết nối từ nhóm trước khi bạn bắt đầu giao dịch và giải phóng nó sau khi khôi phục hoặc cam kết.

pool.getConnection(function(err, connection) {
    connection.beginTransaction(function(err) {
        if (err) {                  //Transaction Error (Rollback and release connection)
            connection.rollback(function() {
                connection.release();
                //Failure
            });
        } else {
            connection.query('INSERT INTO X SET ?', [X], function(err, results) {
                if (err) {          //Query Error (Rollback and release connection)
                    connection.rollback(function() {
                        connection.release();
                        //Failure
                    });
                } else {
                    connection.commit(function(err) {
                        if (err) {
                            connection.rollback(function() {
                                connection.release();
                                //Failure
                            });
                        } else {
                            connection.release();
                            //Success
                        }
                    });
                }
            });
        }    
    });
});



  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 tắt chế độ SQL nghiêm ngặt trong MySQL 5.7

  2. hàm php không trả về tất cả kết quả từ truy vấn MySQL trong foreach

  3. Xuất và nhập tất cả cơ sở dữ liệu MySQL cùng một lúc

  4. Sử dụng lệnh IN để tìm kiếm với một câu lệnh đã chuẩn bị sẵn

  5. Mối quan hệ giữa danh mục, lược đồ, người dùng và phiên bản cơ sở dữ liệu