Vous avez un grand tableau et je veux ajouter une colonne qui a un numéro choisi au hasard pour chaque enregistrement. 1, 2 ou 3.
Avoir du mal. Des idées?
Essaye ça:
UPDATE tableName SET columnName = FLOOR( 1 + Rand( ) *3 );
Depuis MySQL documentation pour Rand
:
Renvoie une valeur aléatoire à virgule flottante v dans la plage 0 <= v <1,0.
Ainsi, dans la requête ci-dessus, la plus grande valeur qui pourrait être générée par 1 + Rand()*3
serait 3.999999
, Qui, au sol, donnerait 3. La plus petite valeur se produirait lorsque Rand()
renvoie 0, auquel cas cela donnerait 1.
Utilisez la fonction Rand () . Il renvoie une valeur aléatoire à virgule flottante v dans la plage 0 <= v < 1.0
. Pour obtenir un entier aléatoire R dans la plage i <= R < j
, Utilisez l'expression FLOOR(i + Rand() * (j − i + 1))
. Par exemple, pour obtenir un entier aléatoire dans la plage de la plage 1<= R < 3
, Utilisez l'instruction suivante:
UPDATE tableName
SET ColumnName= FLOOR(1 + Rand() * 3);
N.B: Rand () produit des valeurs flottantes aléatoires de 0 à 1.