gpt4 book ai didi

mysql - 如何使用promise在node js中对多个mysql查询进行事务操作?

转载 作者:行者123 更新时间:2023-11-30 21:59:26 26 4
gpt4 key购买 nike

我在一个表上有 27 个 mysql 更新查询。所有这些查询都将以事务模式运行,就像如果一个操作失败,所有其他更新的查询都应该回滚。

我将如何使用 promises 实现这个 nodejs?

最佳答案

我假设您使用找到的 mysql 驱动程序 here .

根据 documentation ,此驱动程序本身支持这样的事务(从文档中复制):

connection.beginTransaction(function(err) {
if (err) { throw err; }
connection.query('INSERT INTO posts SET title=?', title, function (error, results, fields) {
if (error) {
return connection.rollback(function() {
throw error;
});
}

connection.query('INSERT INTO log SET data=?', log, function (error, results, fields) {
if (error) {
return connection.rollback(function() {
throw error;
});
}
connection.commit(function(err) {
if (err) {
return connection.rollback(function() {
throw err;
});
}
console.log('success!');
});
});
});
});

既然你提到了 promise ,你会想要使用 promise-mysql在 Bluebird promises 中包装 mysql 调用的包。

关于mysql - 如何使用promise在node js中对多个mysql查询进行事务操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43908728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com