更新数据库并保留 5,使其不受影响

我想更新数据库,但我想留下5个帖子,这样它们就不会受到影响,其余的会根据要求进行更新。


我尝试了下面的方法,但它不起作用,有人能够破解这个代码。谢谢。


UPDATE `post` SET active = '1' 

WHERE `user` = '".$my['id']."' 

NOT IN (SELECT id FROM `post` 

WHERE `user` = '".$my['id']."' LIMIT 5)


蓝山帝景
浏览 86回答 2
2回答

蝴蝶不菲

试试这个UPDATE post SET active = '1' WHERE `user` = '".$my['id']."' and id not IN (    SELECT id FROM (        SELECT id FROM post        WHERE `user` = '".$my['id']."'        ORDER BY id ASC          LIMIT 0, 5    ) tmp)

UYOU

将子查询移动到 :JOINUPDATE post p LEFT JOIN       (SELECT p.id        FROM post p        WHERE p.user = '".$my['id']."'        LIMIT 5       ) pp       ON p.id = pp.id    SET active = '1' WHERE p.user = '".$my['id']."' AND      pp.id IS NULL;MySQL不容易允许您在or子句的子查询中引用正在更新的表。但是,它允许s,这是解决此问题的推荐方法。WHERESETJOIN
打开App,查看更多内容
随时随地看视频慕课网APP