MySQL:从sql脚本文件中执行Transaction内的LOAD语句

时间:2017-03-29 08:41:26

标签: mysql sql database sqltransaction mysql-loadfile

我想从一些csv文件加载我的表。我希望所有数据导入都是事务绑定,即,如果在任何数据导入中发生错误,则还会回滚在其他表中加载的所有记录。 load语句是从一个如下所示的sql文件执行的:

SET AUTOCOMMIT=0;
START TRANSACTION;
LOAD DATA INFILE 'file1.csv' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"';
LOAD DATA INFILE 'file2.csv' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"';
.
.
.
LOAD DATA INFILE 'fileN.csv' INTO TABLE tableN FIELDS TERMINATED BY ',' ENCLOSED BY '"';
COMMIT;

但是,只要在表的某个LOAD语句中发生错误,就只会对该表发生回滚,并且其他表中的数据将保持提交状态。请建议如何使此交易受限..

0 个答案:

没有答案