Bonjour, je travaille sur php myadmin 2.11.6.

J'ai un problème avec un UPDATE qui fait du zèle (et des dégâts) dans une de mes tables.

Cette requête me renvoie 10 résultats trouvés:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT `coefficient`.`plafond` 
FROM `coefficient`, `fip` 
WHERE `fip`.`produit` = `coefficient`.`produit` 
AND `fip`.`marche` = `coefficient`.`marche` 
AND `coefficient`.`plafond`>0 
AND `fip`.`taux` > `coefficient`.`plafond`;
Et cet UPDATE me modifie 2000 lignes au lieu des 10 lignes ci-dessus (et oui ça fait une sacrée différence):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
UPDATE `fip`
SET `taux` = (
    SELECT `coefficient`.`plafond` 
    FROM `coefficient` 
    WHERE `fip`.`produit` = `coefficient`.`produit` AND `fip`.`marche` = `coefficient`.`marche` AND `coefficient`.`plafond`>0 AND `fip`.`taux` > `coefficient`.`plafond`
);
Je voudrais donc que mon UPDATE ne modifie que les lignes qui ressortent lors de la requête. Merci d'avance pour vos idées