Tag: 隔离

使用mysql和node.js的可序列化事务

我在使用node.js和mysql进行事务时遇到问题。 问题是我的事务不会孤立运行,即使我将隔离级别设置为“可序列化”。 我设置了以下最小的例子来说明我的问题。 我正在使用具有两个columns(id,val)的单个表: CREATE TABLE `A` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `val` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `A` (`id`, `val`) VALUES (1,0); 请注意,我正在解除InnoDB表types,因为它支持事务。 我的node.js程序只是读取表A中单行的值,并使用update语句来增加它。 select语句使用FOR UPDATE修饰符来获得该行的locking。 这两个sql语句被封装到一个事务中,并且我在for循环中执行了这些事务中的10个: var orm = require("orm"); orm.connect("mysql://root@localhost/test", function (err, db) { db.driver.execQuery("SET GLOBAL tx_isolation='SERIALIZABLE';", function (err, data) { for (var […]