MySQL JOUR OÙ pour chaque valeur séparément?

J'ai le type suivant de SQL:

UPDATE photo AS f 
  LEFT JOIN car AS c 
         ON f.car_id=c.car_id 
  SET f.photo_status=1
    , c.photo_count=c.photo_count+1 
  WHERE f.photo_id IN ($ids)

Fondamentalement, deux tables (car & photo) sont liés. La liste en $id contient un unique photo d'identité, tels que (34, 87, 98, 12). Avec la requête, je suis à la définition du statut de chaque photo dans cette liste à "1" dans la photo table et, simultanément, l'incrémentation de la photo comte dans la car table pour la voiture à la main.

Il fonctionne, mais il y a un hic: Parce que la liste peut contenir plusieurs photos d'identité qui se rapportent à la même voiture, la photo ne compter que jamais est incrémenté une fois. Si la liste avait 10 photos associées avec la même voiture, photo_count deviendraient 1 .... alors que je tiens à incrémenter à 10.

Est-il un moyen de faire de l'incrémentation se produire pour chaque photo individuellement par le biais de la jointure, contrairement à MySQL avoir à y penser pour moi?

J'espère que le ci-dessus a un sens. Merci.

InformationsquelleAutor Tom | 2010-03-19