Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso inserir muitas linhas em uma tabela MySQL e retornar os novos IDs?


Tópico antigo, mas acabei de analisar isso, então aqui vai:se você estiver usando o InnoDB em uma versão recente do MySQL, poderá obter a lista de IDs usando LAST_INSERT_ID() e ROW_COUNT() .

O InnoDB garante números sequenciais para AUTO INCREMENT ao fazer inserções em massa, desde que innodb_autoinc_lock_mode é definido como 0 (tradicional) ou 1 (consecutivo). Conseqüentemente, você pode obter o primeiro ID de LAST_INSERT_ID() e o último adicionando ROW_COUNT()-1 .