我有一个用户表,其中有一个新添加的字段 last_post_id
.
我需要它与另一个posts表相对应,以便对于来自该用户的最新post,其id存储在新字段中。
我需要做一个updatesql查询来处理这个新字段的迁移。我怎么能这么做?
我尝试过很多尝试,例如:
UPDATE users u
JOIN
(
SELECT user_id, created_at, post_id
FROM posts
WHERE user_id = u.id
ORDER BY created_at DESC
LIMIT 1
) p
ON u.id = p.user_id
SET u.last_post_id = p.id
问题是:在 WHERE
,我无法访问 u
.
如果你有问题请告诉我。非常感谢你的帮助。
1条答案
按热度按时间piv4azn71#
如果
(user_id, created_at)
被定义为唯一的(或者如果我们假设它是唯一的),那么即使有多个职位拥有相同的职位,这也会起作用
created_at
价值,但它没有定义什么posts.id
将用于更新。