作者higgco (higgco)
看板Database
标题[SQL ] 请问如何记录按过赞的人
时间Mon Mar 26 16:49:39 2018
资料库名称:mysql
资料库版本:5.7
内容/问题描述:
请问设计的相关理念
像Youtube按赞那样
请问是在一个栏位里面
我想的是
在一个栏位
摆满了每个按过的人的 userid吗?
类似一栏位
12,15,24,224,556 这样吗?
然後用什麽方式去跟那一个栏位互动呢?
可以在尾部增userid或删除里面的某个userid吗?
还是要整个栏位取下 然後将,一个个分开
在进行筛选 没有在里面的话可以增(like)
有在里面的话可以删(dislike)
还是我这想法不对 是有其他方法可以更方便实现?
请教谢谢
Post table
id picroute likeusers dislikeusers
1 img/0001.jpeg 1,3,4,6,11,44,233 2,5,8,15,66,77,88
然後进到该页面後 用session的登入userid 去比对
likeusers有的话 就是显示已按like的图 和未按dislike的按钮
dislikeusers有的话 就是显示按dislike的图 和未按like的图
都不在这两个栏位的userid就是显示已都可以按下的状态
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 163.30.127.172
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1522054181.A.024.html
1F:推 liisi: 为何要在一个栏位去存a,b,c这东西 存成table不好吗? 03/26 22:59
2F:→ higgco: 存成一个table 那会太多table了 因为只是一个图片 按赞就 03/26 23:16
3F:→ higgco: 要开成一个table好像不太对劲 所以你认为像FB和Youtube这 03/26 23:17
4F:→ higgco: 类的是一个文章一个影片就开一个table去记录所有的userid? 03/26 23:17
5F:→ higgco: 这样整个table就是 id likeuserid dislikeuserid这样的三 03/26 23:17
6F:→ higgco: 个栏位? 有点浪费table也会因为文章数多而爆多table吧? 03/26 23:18
7F:→ higgco: 还是我理解不对 可以举例吗? 可能达成的方式 03/26 23:18
※ 编辑: higgco (122.116.4.129), 03/26/2018 23:23:45
8F:→ retsamsu: 不会多很多 table ,只会多两个 03/27 11:13
9F:→ retsamsu: Post Table {id, picroute}, Like Table {id, pt_id, 03/27 11:14
10F:→ retsamsu: uid}, DisLike Table {id, pt_id, uid} 03/27 11:14
11F:→ retsamsu: 或是只多一个 Action Table {id, pt_id, uid, like} 03/27 11:15
12F:→ retsamsu: 要查的话就 join 一下就可以了 03/27 11:16
13F:推 LPH66: 概念上这是一个多对多的关系, 上面这个表就是直接纪录 03/27 17:19
14F:→ LPH66: 谁跟什麽文有关系, 这样要从人查或从文查都没问题 03/27 17:20
15F:推 far0802: 应该只是单纯的记log资讯而已,然後一直max最後一笔 04/17 02:47