请教类似贴吧帖子的楼数是怎么记录的

2018-05-13 20:34:02 +08:00
 sakudie
回复表中有个全局 id 作为数据库的自增主键,现在想增加一个字段记录回复在帖子中的楼层数(删除的回复仍然占用一个楼层),应该怎么实现比较好,碰到并发回复的时候不会引起冲突
1811 次点击
所在节点    程序员
4 条回复
opengps
2018-05-14 08:44:46 +08:00
自己定义个主键吧,xx_yy,xx 是贴子 id,yy 是楼层,或者联合主键,xx 伪外键,yy 伪主键,实际上 xxyy 联合起来当主键用
sakudie
2018-05-14 09:03:06 +08:00
@opengps 这样做不是每一次都需要查询一下上次的最大楼层 id 吗,然后才能进行下一次插入
linpf
2018-05-14 09:09:16 +08:00
@sakudie 主题表里加一个当前最大楼层的字段就可以了。像你说的并发问题可以通过加锁来解决
opengps
2018-05-14 09:13:58 +08:00
@sakudie 3 楼的比较办法简单,我刚才说的只考虑了便于查询,确实需要先查询后添加,不过我以前是用了数据库函数实现标记,查询一次之后占用 id,函数锁住数据避免重复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454532

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX