Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment renuméroter une colonne dans la doctrine

Très bien, certainement, s'il vous plaît, utilisez la 2ème méthode... parcourir les enregistrements et les mettre à jour.

Raison rapide pour ne pas utiliser les tables temporaires :

  • Si vous utilisez une table temporaire MySQL, elle est visible pour la session en cours ; qui pourraient en fait être partagés par plusieurs sessions si vous utilisez des connexions persistantes. Si vous exécutez le script deux fois en même temps, cela pourrait entraîner une corruption des données. La même chose s'applique à la création de vraies tables.

Voici ce que vous devez faire :

  1. Récupérez toutes vos données, ou au moins récupérez-les par lots logiques (dans ce cas, cela pourrait être fait en récupérant uniquement les lignes d'une "collection" particulière, par exemple les fruits)
  2. Ordonner les lignes (cela aurait également pu être fait précédemment dans la requête SQL)
  3. Mettez à jour les lignes à l'aide d'un compteur, exactement comme vous l'avez proposé