एक लेनदेन को एकाधिक डेटाबेस कनेक्शन द्वारा साझा नहीं किया जा सकता है और यह हमेशा एक कनेक्शन तक ही सीमित होता है। सबसे अच्छा तरीका यह होगा कि आप लेन-देन शुरू करने से पहले पूल से एक कनेक्शन प्राप्त करें और इसे रोलबैक या कमिट के बाद जारी करें।
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
}
});
}
});
}
});
});