我有以下comment
表(评论和相应信息,包括photo_id)
comment_id | photo_id | ...
com_1 | pho_1 | ...
com_2 | pho_2 | ...
com_3 | pho_1 | ...
com_4 | pho_2 | ...
前端发送请求:“嘿,后端,给我关于前两项的信息,我会显示它”
后台设置令牌到third
项:
comment_id | photo_id | ...
com_1 | pho_1 | ...
com_2 | pho_2 | ...
-->com_3 | pho_1 | ...
com_4 | pho_2 | ...
并选择所有信息,直到第三条评论为止:
pho_1 com_1
pho_2 com_2
然后将所有其他评论添加到相应的photo_id并将其发送到前面,以便用户将看到的最终信息将是:
pho_1 com_1, com_3
pho_2 com_2, com_4
我有以下问题:如果前面发送另一个请求“嘿,后端,给我关于下两个项目的信息,我将显示它”。然后将设备令牌后端再次设置到fifth
项并向前发送完全相同的信息,这样用户将看到完全相同的信息,因为
1)选择
pho_1 com_3
pho_2 com_4
2)并在照片ID上添加其他评论,它将是:
pho_1 com_1, com_3
pho_2 com_2, com_4
如何避免这种情况并且不发送重复的信息?
答案 0 :(得分:0)
从我看来,你有两种选择。
你 DO 在照片ID上有外键:
select * comment as c
right join (
select * from photo
limit 2 offset 0
) as p
on c.photo_id = p.photo_id
你不在照片ID上有外键:
select * comment
where photo_id in (
select photo_id from comment
limit 2 offset 0
)
在两者中,您需要从photo_id的角度进行分页。