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

Como renumerar uma coluna na doutrina


Muito, definitivamente, por favor, use o 2º método... I.E. percorrer os registros e atualizar.

Razão rápida para não usar tabelas temporárias:
  • Se você estiver usando uma tabela temporária do MySQL, ela ficará visível para a sessão atual; que pode ser compartilhado por várias sessões se você estiver usando conexões persistentes. Se você executar o script duas vezes ao mesmo tempo, poderá causar alguma corrupção de dados. O mesmo se aplica à criação de tabelas reais.

O que você deve fazer é:
  1. Recupere todos os seus dados, ou pelo menos recupere-os em lotes lógicos (neste caso, isso pode ser feito recuperando apenas as linhas de uma "coleção" específica, por exemplo, frutas)
  2. Ordenar as linhas (isso também pode ter sido feito anteriormente na consulta SQL)
  3. Atualize as linhas usando um contador, exatamente como você propôs