是否可以在SQL server中管理标识范围?
是否可以在SQL Server中管理标识范围 如果我在1对1的DB 1和10000对2的DB中设置种子 在这种情况下,如果我同步两个DB,DB one只会增加10000 假设我想要这个:是否可以在SQL server中管理标识范围?,sql,identity,Sql,Identity,是否可以在SQL Server中管理标识范围 如果我在1对1的DB 1和10000对2的DB中设置种子 在这种情况下,如果我同步两个DB,DB one只会增加10000 假设我想要这个: DB1->id开始[0-9000] DB2->id开始[10000-19000] 解决方案: ALTER TABLE dbo.* WITH NOCHECK ADD CONSTRAINT Id_Range_Constraint CHECK(ID BETWEEN 10000 AND 19999
- DB1->id开始[0-9000]
- DB2->id开始[10000-19000]
ALTER TABLE dbo.* WITH NOCHECK
ADD CONSTRAINT Id_Range_Constraint
CHECK(ID BETWEEN 10000 AND 19999)
您可以在两个数据库中为问题中指定的范围创建约束。但请记住,
INSERT
将在记录超出该范围时失败
类似于SQL Server的内容。其他RDBMS语法将略有不同:
CREATE TABLE T (
Id Int PRIMARY KEY IDENTITY(0, 1)
);
ALTER TABLE T ADD CONSTRAINT Id_Range_Constraint
CHECK (Id BETWEEN 0 AND 9000);
DROP TABLE T;
您需要对DB1进行检查,如@Yuck所说,并在DB2上创建标识,如下所示:
id int not null primary key identity (10000,1),