gpt4 book ai didi

java - Postgresql 锁定多个用户的共享表

转载 作者:行者123 更新时间:2023-12-02 06:35:54 25 4
gpt4 key购买 nike

所以,我在这里遇到了同步问题;让我们解释一下情况:

我有一个名为 Sendings 的表,它由以下列组成:

id   sending_object_id    type   destinatary

id 是 postgresql 为每个表提供的自动序列 id。发送的 object_id 是一个自定义标识符,类型和目的地......对于这个特定问题来说并不重要。

这是带有数据的表格的示例:

  id   sending_object_id    type   destinatary
1 1 1 A7
2 1 1 B1
3 2 2 A1
4 2 2 A2
5 3 1 B8
6 4 1 N1

如您所见,相同的“object_id”可以发送到多个目的地。现在,当两个不同的用户使用两台不同的计算机尝试插入新的发送时,我的同步问题就出现了。

用户A引入新的发送信息,并且数据库引擎创建SelectMax(sending_object_id)以便为注册表创建新的sending_object_id。

用户B同时引入新的发送,进行另一个SelectMax(sending_object_id)。

在插入新数据时,如何避免重复的 sending_object_id

提前致谢。

最佳答案

您需要在创建新的发送对象 ID 时锁定表,或者,如果您不关心该数字到底是什么,则创建您自己的 sequence并调用nextval就在上面。

关于java - Postgresql 锁定多个用户的共享表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19656879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com