Bonjour,
J'ai une table :
ma_table
id INT AUTO_INCREMENT PRIMARY KEY,
valeur INT,
mon_bool BOOLEAN DEFAULT 0
Je voudrais parcourir l'ensemble des éléments de cette table et attribuer mon_bool = 1 si la valeur de l'id suivante est incrémentée par rapport à l'id courant et si la valeur est supérieure.
Concrétement (ça ne marche pas) :
J'ai une erreur d'impossibilité d'utiliser ma_table dans le FROM.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UPTADE ma_table t1 SET t1.mon_bool = 1 WHERE (SELECT t2.valeur FROM ma_table t2 WHERE t2.id = (t1.id +1) AND t2.valeur > t1.valeur);
J'ai également pensé à un curseur, mais pour chaque valeur de ma_table parcourue, celle-ci est read only dans le curseur, je ne peux pas faire l'UPDATE.
Pouvez-vous m'aider là-dessus ?
En vous remerciant,
C. Tobini
Partager