Concaténation de colonnes MySQL pour la génération de nombres uniques
Lorsque vous travaillez avec des tables MySQL, il peut être nécessaire de générer des nombres uniques qui combinent les données de plusieurs colonnes. Dans un scénario où une table contient deux colonnes nommées SUJET et ANNÉE, l'objectif est de créer un numéro alphanumérique unique qui intègre les valeurs des deux champs.
Une approche pour y parvenir consiste à utiliser la fonction CONCAT, comme démontré. dans le code suivant :
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Cette requête concatènerait les valeurs des colonnes SUJET et ANNÉE, séparées par un espace. Cependant, pour créer un numéro unique, une méthode plus complexe est nécessaire.
Une solution alternative consiste à utiliser une combinaison de LPAD et d'une variable pour générer un suffixe unique. La requête mise à jour est la suivante :
SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table`
Cette requête initialise d'abord une variable nommée @rn à 0. Elle concatène ensuite les valeurs de SUBJECT et YEAR, en ajoutant un trait d'union comme séparateur. Enfin, il utilise la fonction LPAD pour compléter à gauche la valeur incrémentée de @rn avec des zéros afin d'obtenir une longueur cohérente de trois caractères.
En mettant en œuvre cette approche, un numéro alphanumérique unique peut être généré pour chaque ligne de la table MySQL, combinant les données des colonnes SUBJECT et YEAR.
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!