[mysql]beginTransaction/rollback/commit
Posted haliofwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[mysql]beginTransaction/rollback/commit相关的知识,希望对你有一定的参考价值。
sql.executeSqlTrans=function(sqlArray,callbackAll)
var tasks=[];
var first= function(callback)
// 开启事务
db.beginTransaction(function(err)
callback(err);
);
tasks.push(first);
sqlArray.forEach(function(sqlQuery)
var temp=function(callback)
db.query(sqlQuery,function (err, info1)
callback(err);
);
tasks.push(temp);
);
var last=function(callback)
db.commit(function(err)
callback(err);
);
tasks.push(last);
async.series(tasks,function(err,result)
if(err)
db.rollback();
callbackAll(err,result);
else
callbackAll(err,result);
);
module.exports = sql;
//使用,其中tasks是构成事务的一系列sql;
sql.executeSqlTrans(tasks,function(err,result)
if (err)
res.send(result:false,reason:'写数据库失败!');
res.end();
else
res.send(result:true);
res.end();
);
以上是关于[mysql]beginTransaction/rollback/commit的主要内容,如果未能解决你的问题,请参考以下文章