NodeJS中的MySQL事务回滚

时间:2015-12-03 17:40:55

标签: mysql node.js transactions

我面临一个奇怪的问题。我正在使用node-mysql从NodeJS连接MySQL DB。下面是我正在创建的连接池。

mysql.createPool({
        host     : connectDB.mysql.hostname,
        user     : connectDB.mysql.username,
        password : connectDB.mysql.password,
        connectionLimit : connectDB.connectionLimit
});

我正在尝试使用事务并使用方法beginTransaction

开始事务

我的要求是动态创建数据库和表。下面提到了创建数据库和表的示例查询。

CREATE SCHEMA IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8; //Create the database

CREATE TABLE IF NOT EXISTS `test`.`test_table` (
  `test_table_id` INT(11) NOT NULL AUTO_INCREMENT,
  `test_table_key` VARCHAR(45) NOT NULL,
  `test_table_value` TEXT NULL DEFAULT NULL,
  PRIMARY KEY (`test_table_id`),
  UNIQUE INDEX `test_table_id_UNIQUE` (`test_table_id` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Test table.'

这里的问题是当我尝试回滚事务时数据库和创建的表没有得到回滚。要回滚,我使用事务回滚方法使用相同的事务连接。

connection.rollback(function() {
        throw err;
});

任何帮助都将不胜感激。

0 个答案:

没有答案