小编Dim*_*y K的帖子

INSERT INTO 新创建的目标表后 ROLLBACK 不起作用

我正在研究将 CSV 文件 ( customers.csv) 导入 MySQL 表 ( customers) 的PHP 脚本。

在将 CSV 文件的内容插入 mysql 表之前,我首先备份原始customers表。

我将整个导入过程(包括备份)包装在一个 mysql 事务中(以解决 CSV 在中间某处损坏的情况,并确保导入是原子的)。

问题是当我在INSERT INTO语句之后立即调用它时 ROLLBACK 似乎不起作用:通过 phpMyAdmin 检查数据库时,我可以看到新创建的表和 ROWS INSIDE IT 在 rollback 后仍然存在

以下是操作日志:

[2015-01-19 14:08:11] DEBUG: "START TRANSACTION" [] []
[2015-01-19 14:08:11] DEBUG: SHOW TABLES LIKE :table_name; [] []
[2015-01-19 14:08:28] DEBUG: CREATE TABLE `customers__20150119_14_08_20` LIKE `customers` [] []
[2015-01-19 14:08:37] DEBUG: INSERT INTO `customers__20150119_14_08_20` SELECT * FROM `customers` [] …
Run Code Online (Sandbox Code Playgroud)

mysql innodb transaction rollback

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

innodb ×1

mysql ×1

rollback ×1

transaction ×1