J'ai le type de SQL suivante:MySQL UPDATE O WH IN pour chaque valeur listée séparément?
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 dans $ ids contient des identifiants de photo uniques, tels que (34, 87, 98, 12). Avec la requête, je la mise en l'état de chaque photo dans cette liste à « 1 » dans le tableau photo
et incrémenter simultanément le nombre de photos dans le tableau car
pour la voiture à portée de main.
Il fonctionne, mais il y a un hic: Parce que la liste peut contenir plusieurs photos ids qui se rapportent à la même voiture, la photo ne comptent plus que jamais s'incrémente une fois. Si la liste comprenait 10 photos associées à la même voiture, photo_count deviendrait 1 .... alors que j'aimerais l'incrémenter à 10.
Y a-t-il un moyen d'effectuer l'incrémentation pour chaque photo individuellement à travers le rejoindre, par opposition à MySQL overthinking pour moi?
j'espère que ce qui précède est logique. Merci.
Cela semble prometteur merci. Va le tester .... – Tom
Merci, cela fonctionne et fait le travail, probablement le moyen le plus simple. – Tom