Mise à jour des colonnes avec un numéro de séquence dans MySQL
Problème : Une table MySQL contient une colonne nommée "Number" qui contient actuellement des valeurs nulles pour plusieurs lignes. La tâche consiste à mettre à jour cette colonne avec des nombres séquentiels allant de 1 à n, où n représente le nombre total de lignes.
Solution :
Pour réaliser cette mise à jour dans une seule commande SQL, vous pouvez utiliser une combinaison des instructions SET et update.
SQL Commande :
SET @rank := 0; update T set Number = @rank := @rank + 1;
Explication :
Cette commande SQL comprend deux parties distinctes :
Méthode alternative (une instruction) :
Une approche alternative qui peut être utilisée pour réaliser cette mise à jour dans une seule déclaration est :
UPDATE T JOIN (SELECT @rank := 0) r SET Number = @rank := @rank + 1;
Remarque :
Les deux méthodes mettront effectivement à jour la colonne Nombre avec des nombres séquentiels de 1 à n, où n représente le nombre total de lignes dans la table T.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!