您的位置:首页 > 数据库 > MySQL

node.js 事物处理 mysql

2014-11-01 22:02 246 查看
/*

* GET home page.

*/

var queues = require('mysql-queues');

var async = require('async');

var db = require('./DBManager');

var appPool = require('./app-pooling');

exports.index = function(req, res){

var conn = db.db_conn();

conn.connect();

queues(conn);

var trans = conn.startTransaction();

async.series([

function(callback1){

console.log('111111111111111111111111111');

var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";

trans.query(sql,function(err,info){

console.log(err+'aaaaaaaaaaaaaaaaaaaa');

callback1(err,info);

});

},

function(callback2){

console.log('222222222222222222222222');

var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";

trans.query(sql,function(err,info){

console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');

callback2(err,info);

});

},

function(callback3){

console.log('33333333333333333333');

var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";

trans.query(sql,function(err,info){

console.log(err+'ccccccccccccccccc');

callback3(err,info);

});

}

],function(err,results){

if (err) {

console.log("rollback");

// 出错的场合 回滚

trans.rollback();

} else {

// 没有错误的场合 提交事务

console.log('55555555555555555555555');

// trans.commit();

trans.commit(function(err, info) {

console.log(info);

conn.end();

});

// conn.end();

// conn.destroy();

}

console.log('final');

// conn.release();

// conn.end();

});

// 执行这个事务

trans.execute();

console.log('4444444444444444');

res.send('完成');

};

exports.indexOld = function(req, res){

console.log('删掉的丰盛的');

appPool.pool.getConnection(function (err, conn) {

var trans = conn;

async.series([

function(callback1){

console.log('111111111111111111111111111');

var sql = "INSERT INTO user(username,password) VALUES ('111', '333')";

trans.query(sql,function(err,info){

console.log(err+'aaaaaaaaaaaaaaaaaaaa');

callback1(err,info);

});

},

function(callback2){

console.log('222222222222222222222222');

var sql = "INSERT INTO user(username,password) VALUES ('111', '333111')";

trans.query(sql,function(err,info){

console.log(err+'bbbbbbbbbbbbbbbbbbbbbb');

callback2(err,info);

});

},

function(callback3){

console.log('33333333333333333333');

var sql = "INSERT INTO user(username,password) VALUES ('111111', '333111')";

trans.query(sql,function(err,info){

console.log(err+'ccccccccccccccccc');

callback3(err,info);

});

}

],function(err,results){

if (err) {

console.log("rollback");

// 出错的场合 回滚

trans.rollback();

} else {

// 没有错误的场合 提交事务

console.log('55555555555555555555555');

trans.commit();

}

console.log('final');

});

// 执行这个事务

console.log('4444444444444444');

res.send('完成');

});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: