大家好,我有一个我正在研究的项目,包括在3个不同的位置保持相同的表
我将每个位置不存在的数据提取到公司表中,然后我需要将新数据发送回位置,以便它们都是相同的
我要拉的桌子是一个身份
我的问题是在Sql中是否有任何方法可以使表成为一个身份而不会使其成为身份,因为将默认值设置为max(id)+1,这是我能想到的唯一方法数据结构相同而无需复制
答案 0 :(得分:0)
问题是您在多个来源的IDENTITY
字段中生成记录,然后无法将这些记录合并而不会为这些记录分配新的IDENTITY
值。
通过使用GUID
作为关键字段,3个数据库中的每个数据库都可以创建具有唯一ID的记录,然后您就可以毫无问题地将它们组合在一起。您仍然可以对该字段设置UNIQUE
约束,但生成相同GUID的可能性在天文数字上很小。
大多数复制过程已经在某种程度上使用了这种GUID方法,因此这是解决这个问题的常用方法。