gpt4 book ai didi

sql - 通过比较两个不同的数据库获取最大 ID

转载 作者:搜寻专家 更新时间:2023-10-30 21:53:43 26 4
gpt4 key购买 nike

我在两台不同的服务器上有两个相同的数据库:一台主服务器和一台备份服务器。用户当前在两个服务器中。我们在两个数据库的 tblOrder 中都有一个 OrderId 列作为自动递增的主键。现在,当我将 orderid 发布到我们的亚马逊服务器时,它有时会显示错误,因为两个数据库上的 orderid 是相同的数字,并且系统不接受重复的 orderid。

我想从两个服务器获取最大 orderid,然后将新的 orderid 提供给当前工作的数据库。我将从中删除自动递增种子,以便在插入命令时我将手动插入 orderid。

最佳答案

解决方案:

  1. 如前所述,您可以将每个身份字段的增量更改为 2,并让一台服务器的种子为 1,另一台服务器的种子为 2。

  2. 假设您预计不会在每台服务器上处理超过 10 亿个订单,只需将第二台服务器上的种子设置为 1,000,000,000。无需更改增量。

  3. 使用 uniqueidentifier (GUID) 作为主键而不是整数。对于 SQL Server 2005 及更高版本,您可以将默认约束设置为 NEWSEQUENTIALID() 以防止插入不断创建页面拆分。

关于sql - 通过比较两个不同的数据库获取最大 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5335521/

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