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

Consulta em lote complicada do MySQL


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:

  1. Selecione qualquer ID existente fora do banco de dados (idealmente uma única seleção para todos os dados conhecidos).

  2. 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.

  3. Aloque novos id's para quaisquer registros sem um id.

  4. dados de substituição em massa no banco de dados (inserindo várias linhas com uma única instrução).