[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的主要内容,如果未能解决你的问题,请参考以下文章

mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)

MySQL教程

MySQL

MySQL

有什么学习MySQL的好教程吗?

MySql 详解