mysql - 如何运行动态查询数组的事务

标签 mysql node.js transactions

我有一个动态查询数组,示例:-

arrQueries=["update table1 set field1='val1',field2='val2' where 
id=5;","update table1 set field3='val3',field4='val4' where id=10;" ];

如何通过循环数组来运行事务?

最佳答案

我使用了node-mysql-transaction

    var transaction = require('node-mysql-transaction');
var trCon = transaction({connection: [mysql.createConnection, {
            // mysql connection config
            user: ...,
            password: ...,
            database:...,
            host:..
        }], dynamicConnection: 32, timeout: 600});
arrQueries=["update table1 set field1='val1',field2='val2' where 
id=5;","update table1 set field3='val3',field4='val4' where id=10;" ];

 var chain = trCon.chain();
                chain.
                on('commit', function () {
                    console.log('commit');                           
                    return res.send("commit");

                }).
                on('rollback', function (err) {
                    console.log('rollback');
                    return res.send("rollback");
                });

                for (var i = 0; i < arrQueries.length; i += 1) {
                    chain.query(arrQueries[i]);
                }

关于mysql - 如何运行动态查询数组的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286389/

相关文章:

javascript - 如何使用 Node.js 在 MongoDB 中查找下一个文档

java - 防止内部事务回滚外部事务

spring - 如何以编程方式在线程中获取事务管理器?

php - 检查模型以查看 Yii-PHP 中是否存在记录

mysql - 正则表达式返回令人费解的结果(对我来说)

javascript - 如何将 javascript 数组序列化为 google flatbuffers?

java - 为什么我需要在 Hibernate 中进行事务以进行只读操作?

mysql - 获取最后 15 个过时的项目——有什么优化方法吗?

php - 使用 MySQL 和 PHP 每天更新字段

javascript - 如何使用 AngularJS 从 NodeJS 获取 "get"