有没有比在查询的开头添加事务并使用提交或回滚完成更好的方法来使用mariasql库的事务?BEGIN
目前,如果我想在事务中包装一系列查询,我必须执行以下操作:
const MariaClient = require('mariasql');
let client = new MariaClient();
client.connect({
host: "127.0.0.1",
user: "user",
password: "pass",
db: "some_db",
multiStatements: true
});
client.query('BEGIN; INSERT INTO some_table VALUES ("a0","b0"), ("a1","b1"), ("a2","b2");', function (err) {
if (err) {
client.query('ROLLBACK;');
}
client.query('COMMIT;');
});
这看起来很笨重并且可能容易出错。我们正在使用通用池来管理 mariadb 客户端,因此以这种方式处理事务似乎可能会产生一些意想不到的后果。