次のタイプの 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)
基本的に、2 つのテーブル ( car
& photo
) が関連付けられています。$ids のリストには、(34、87、98、12) などの一意の写真 ID が含まれています。クエリを使用して、そのリスト内の各写真のステータスをテーブルで "1" に設定し、同時にテーブル内の手元の車photo
の写真数を増やします。car
これは機能しますが、問題が 1 つあります。リストには同じ車に関連する複数の写真 ID を含めることができるため、写真の数は 1 回しか増えません。リストに同じ車に関連付けられた 10 枚の写真がある場合、photo_count は 1 になりますが、10 に増やしたいと思います。
MySQLが私のためにそれを考えすぎるのではなく、結合を介して各写真の増分を個別に発生させる方法はありますか?
上記が理にかなっていることを願っています。ありがとう。