在我的postgres数据库中,我有一个单元格可以保存有多少人点击“我喜欢”相应的帖子。但是,我想知道我目前的解决方案是否在postgres中并发。我现在所做的是我的道教课程中的两个步骤。
1)获取DB中的当前值。 2)添加1,然后更新它。
如果不是,我怎样才能让它并发?我正在使用Java(querydsl)和Postgres。请帮忙吗?
更新
感谢您的回答。我没有说清楚的一件事是我使用querydsl。所以我不使用普通列方式。但还是谢谢。
答案 0 :(得分:2)
假设您的表名为posts
并且您有QPosts
个查询类,那么您可以这样做:
QPosts p = QPosts.posts;
queryFactory.
update(q).
set(q.likes, q.likes.add(1)).
where(q.id.eq(42));
然后生成以下SQL:
update posts
set likes = likes + 1
where posts.id = 42
答案 1 :(得分:1)
我从未做过PostgreSQL,但我发现了一些东西。
UPDATE tableName
SET likes = likes + 1;
告诉我它是否合适,
如果我帮助你,我很高兴!