7
votes

Ajoutez un nombre aléatoire entre 30 et 300 à un champ existant

J'ai regardé sur le filet aussi bien qu'ici mais je ne trouve pas de réponse à la question suivante MySQL. Je cherche à remplacer la valeur d'un champ existant avec une requête qui a un nombre aléatoire comprise entre 30 et 300. La raison était parce que j'ai déplacé des galeries et comptait 250 000 000 points de vue sur mes images et il y a été perdu avec la migration et beaucoup de mes membres sont fâchés qu'ils ont perdu des vues ....


0 commentaires

3 Réponses :


4
votes

Utilisez rand ()

UPDATE table

SET field = FLOOR(30 + (RAND() * 270));

WHERE foo = 'bar'


0 commentaires

7
votes
UPDATE the_table SET the_field = the_field + FLOOR(RAND() * (270 + 1)) + 30

3 commentaires

Un float n'est-il pas coulé sur INT lorsqu'il est inséré dans une colonne entière?


Mais il y avait un autre problème dans nos deux solutions: la moitié de la probabilité de 30 et 270 que pour les autres numéros. Je l'ai corrigé.


Merci gars ... j'ai utilisé ceci et ça m'a sauvé la vie :)



4
votes

Je pense que cela fera l'affaire: xxx


0 commentaires