Não use colunas de incremento automático - pré-aloque seus IDs de referência antes de inserir. Dessa forma, você pode usar uma inserção em massa e remover a dependência.
Atualizar:
-
Selecione qualquer ID existente fora do banco de dados (idealmente uma única seleção para todos os dados conhecidos).
-
Enriqueça os dados para inserir com qualquer ID conhecido. (calcule uma chave para cada item, que corresponderia à chave primária da sua tabela no banco de dados, use isso para atualizar o item com o id do banco de dados) - você deseja dividir os dados em itens que você conhece em o banco de dados e, portanto, têm um id conhecido - e dados que não existem no banco de dados e, portanto, precisam de uma alocação de chave. Estou assumindo que sua tabela tem uma chave primária que não é apenas o id - caso contrário, de que outra forma o banco de dados saberia que você já possui os dados no banco de dados.
-
Aloque novos id's para quaisquer registros sem um id.
-
dados de substituição em massa no banco de dados (inserindo várias linhas com uma única instrução).