【发布时间】:2021-10-28 15:16:09
【问题描述】:
我是 postgreSQL 的新手,我想将字段递增 1 或递减 1(类似于 firestore FieldValue.increment(1))
场景:假设一个帖子(表格中的列)的值为 10,并且有 5 个用户尝试同时将其增加 1。我希望更新后的帖子值为 15 而不是 11。如何使用 postgreSQL 做到这一点?
技术栈:PostgreSQL Express NodeJS React
提前致谢。
【问题讨论】:
-
您可能不应该将“喜欢”存储在单个标量值中 - 相反,您应该有一个表来存储每个喜欢
+1或不喜欢-1的被添加。您可以通过在该表上执行SUM获得实际分数(按帖子过滤)。为了提高性能,您将使用包含缓存数据的索引视图或行,这些数据将由您的 RDBMS 自动从SUM复制。我建议你完成一门数据库理论课程(尤其是数据库表规范化)。 -
感谢您的评论伙伴,它很有帮助。但是有没有其他方法可以做到这一点,因为听说我正在创建一个新表只是为了存储喜欢。
标签: sql node.js postgresql