update avec rand() [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 28-05-2008 à 11:58:16
Et si tu faisais plutôt un truc dans le genre, en passant par php :
- Tu fais un mysql_num_rows de ta table pour savoir le nombre d'enregistrements
- Tu généres un chiffre aléatoire avec php (ou autre d'ailleurs) inférieur ou égal au nombre d'enregistrements
- Tu fais une requête du type UPDATE ... WHERE mon_id = 'chiffre_aleatoire'
Je pense que ça revient au même, et te simplifiera la vie... Non ?
Edit : arf pardon j'avais pas lu le "à part écrire un script ?"... Désolé !
Pourquoi tu veux pas écrire de script ? ça me paraît assez court à faire, non ?
Marsh Posté le 28-05-2008 à 13:05:54
je sais très bien que c'est super simple à faire mais comme j'ai actuellement accès qu'à phpmyadmin et que c'est urgent j'ai pas trop le choix
Marsh Posté le 27-05-2008 à 10:21:08
bonjour,
je dois absolument faire un update d'une colonne aléatoirement, mais sachant que l'update n'accepte pas la fonction rand() j'ai essayé cette requête qui ne marche pas..
UPDATE Table SET ColumnX = NewValue
WHERE PrimaryKey = (
SELECT PrimaryKey FROM Table
WHERE ColumnX = OldValue
AND ColumnY = Value
ORDER BY RAND()
LIMIT 10
)
j'ai ce msg d'erreur : #1093 - You can't specify target table TABLE for update in FROM clause
avez-vous une solution à part écrire un script ? merci d'avance