sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo insertar muchas filas en una tabla MySQL y devolver las nuevas ID?

Hilo antiguo, pero acabo de ver esto, así que aquí va:si está usando InnoDB en una versión reciente de MySQL, puede obtener la lista de ID usando LAST_INSERT_ID() y ROW_COUNT() .

InnoDB garantiza números secuenciales para INCREMENTO AUTOMÁTICO al realizar inserciones masivas, siempre que innodb_autoinc_lock_mode se establece en 0 (tradicional) o 1 (consecutivo). En consecuencia, puede obtener el primero ID de LAST_INSERT_ID() y la última agregando ROW_COUNT()-1 .