当我使用 LOAD DATA INFILE 以快速、线程安全的方式批量插入一组记录时,是否可以获得 MySQL 创建的所有 auto_increment ID?
在 MSSQL 中,我可以使用 OUTPUT 子句将 ID 输出到临时表:
http://msdn.microsoft.com/en-nz/library/ms177564.aspx
在 PostgreSQL 中,我可以保留一组序列号,如下所述:
http://www.depesz.com/2008/03/20/getting-multiple-values-from-sequences/
在 MySQL 中,我可以使用触发器将 ID 发送到临时表,但我不能保证它不会包含在此期间完成的任何其他插入的 ID(即使使用事务)。
有没有其他方法可以返回通过批量进程插入的所有 ID,或者在使用它们之前有效地从 auto_increment 字段中保留一组 ID?