如何UPDATE并检查重复键

时间:2017-12-20 09:31:57

标签: mysql stored-procedures

        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 

我有这样的程序。当新的post添加到feed(在透视表feed_posts中写入)并设置logo_id时,它会调用。我有100 feeds,当我将post添加到100 feeds时 - 所有100 feeds都有相同的logo_id。如果存在其他具有feeds logo_id的{​​{1}}并且未更新,请如何检查UPDATE?

0 个答案:

没有答案