美文网首页
简单的MySql事务使用方法

简单的MySql事务使用方法

作者: 散樱乱舞 | 来源:发表于2019-10-21 19:46 被阅读0次
//mysql事务测试
const mysqlUtil = require('./mysql/mysql-util');

//开启事务
function tranOpen(conn) {
    return new Promise((resolve, reject) => {
        conn.beginTransaction(err => {
            if (err) {
                reject(err);
            } else {
                resolve();
            }
        });
    });
}
//关闭事务
function tranShut(conn) {
    return new Promise((resolve, reject) => {
        conn.commit(err => {
            if (err) {
                reject(err);
            } else {
                resolve();
            }
        });
    });
}

router.get('/', async function (req, res, next) {
    let conn = await mysqlUtil();
    let sqlStr = 'select * from music_info ';
    let sqlParam = [];
    // 开启事务
    await tranOpen(conn);
    // 开始查询任务
    let result1 = await new Promise((resolve, reject) => {
        conn.query(sqlStr, sqlParam, (err, ret) => {
            //如果错误,回滚直到碰到beginTransaction
            if (err) {
                return conn.rollback(() => {
                    resolve(err);
                });
            }
            resolve(ret);
        })
    });
    console.log(result1);
    // 关闭事务
    await tranShut(conn);
    conn.release();
    res.send();
});

相关文章

网友评论

      本文标题:简单的MySql事务使用方法

      本文链接:https://www.haomeiwen.com/subject/lyeamctx.html