MySqlBulkLoader可以与事务一起使用吗?

MySqlBulkLoader可以与事务一起使用吗?,mysql,transactions,bulkinsert,bulkloader,Mysql,Transactions,Bulkinsert,Bulkloader,MySqlBulkLoader可以与事务一起使用吗?我看不到将事务显式附加到加载程序实例的方法。还有其他方法吗?表示MySqlBulkLoader是“加载数据填充”的包装器。在查看“加载数据填充”文档时,我注意到以下段落: 如果指定“忽略”,则输入以下行: 在唯一行上复制现有行 跳过键值。如果你不 指定其中一个选项,即行为 取决于本地关键字 是指定的。如果没有本地,则是一个错误 在创建重复的键值时发生 找到,以及文本文件的其余部分 被忽略了。使用LOCAL时,默认设置为 行为与忽略相同 明确规定

MySqlBulkLoader可以与事务一起使用吗?我看不到将事务显式附加到加载程序实例的方法。还有其他方法吗?

表示MySqlBulkLoader是“加载数据填充”的包装器。在查看“加载数据填充”文档时,我注意到以下段落:

如果指定“忽略”,则输入以下行: 在唯一行上复制现有行 跳过键值。如果你不 指定其中一个选项,即行为 取决于本地关键字 是指定的。如果没有本地,则是一个错误 在创建重复的键值时发生 找到,以及文本文件的其余部分 被忽略了。使用LOCAL时,默认设置为 行为与忽略相同 明确规定;这是因为服务器 没有办法阻止病毒的传播 文件在操作的中间。

我发现没有关于交易的讨论,但上述段落表明交易是不可能的

解决方法是将数据导入导入导入表,然后使用单独的存储过程使用事务将数据处理到所需的表中

因此,在answ中,正如MySQL文档团队成员所说:

It's not atomic.  The records loaded prior to the error will be in the
table.

周围的工作是将数据导入专用表,然后执行
INSERT-INTO。。。选择…
,这将是原子操作。在庞大的数据集上,这是一个潜在的问题,因为事务很长。

请注意,这适用于不支持事务的MyISAM表。InnoDB至少处理加载数据。。。作为交易。