自动提交
sequelize.transaction(function (t) { return Account.create({ id: '461910', account: '4619' }, { transaction: t }).then(account => { return account.destroy({ transaction: t }); }) }).then(() => {}, err => console.log(err));
手动提交
sequelize.transaction().then(function (t) { return Account.create({ id: '461910', account: '4619' }, { transaction: t }).then(account => { return account.destroy({ transaction: t }); }).then(() => t.commit(), err => r.rollback()); });
Promise.all()
sequelize.transaction(function (t) { return Promise.all([ Account.create({}, {transaction: t}), //新增单条数据 Account.bulkCreate([], {transaction: t}), //批量新增数据 Account.update({}, {where: {}, transaction: t}), //更新满足某条件数据,第一个参数为修改数据内容 Account.destroy({where: {}, transaction: t}), //删除满足某条件数据 forEach([], r => r.save({transaction: t})), //更新某数组实例数据 forEach([], r => r.destroy({transaction: t})), //删除某数组实例数据 sequelize.query(sql, { //执行sql语句 type: sequelize.QueryTypes.SELECT, transaction: t }) ]) }).then(result => { console.log(result); //返回promise执行结果数组 }, err => console.log(err));