CREATE PROCEDURE update_logo_id_in_feeds(feed_id INT)
BEGIN
UPDATE feeds SET logo_id =
(
SELECT image_id
FROM posts
WHERE id =
(
SELECT post_id
FROM feed_posts
WHERE priority=
(
SELECT MAX(feed_posts.priority)
FROM feed_posts
WHERE feed_posts.feed_id = feed_id
)
AND feed_posts.feed_id = feed_id
)
)
WHERE feeds.id = feed_id;
END
I have such procedure. It call when new post add to feed (write in pivot table feed_posts) and set logo_id. I have 100 feeds and when I add one post to 100 feeds - all 100 feeds have same logo_id. How check when UPDATE if other feeds with such logo_id exists and don't update?