如何在SQL Server数据库中将两列设置为增量种子100的自动增量int?

use*_*800 11 sql-server

如何在SQL Server数据库中将两列设置为增量种子100的自动增量int?

Stu*_*tLC 14

你只能有每个表中的一个标识列,但是,也有一些想法和解决方法在这里

使用派生计算列进行模拟

如果两个"标识"列彼此同步,或者第二个标识可以使用公式从第一个标识派生,则计算列可能适用,例如,如果第二个identity标记偏离实际标识列的常量:

ALTER TABLE MyTable ADD OtherIdentity AS RealIdentity + 100;
Run Code Online (Sandbox Code Playgroud)

RealIdentity实际/原始IDENTITY列在哪里.

Computed Column派生自Identity SqlFiddle示例

使用独立序列

另一种选择是使用独立的序列(Sql2012和更高版本)

CREATE SEQUENCE MySequence START WITH 100;

CREATE TABLE MyTable
(
    RealIdentity INT IDENTITY(1,1),
    RandomCol NVARCHAR(100),
    FakeIdentity INT DEFAULT NEXT VALUE FOR MySequence
);
Run Code Online (Sandbox Code Playgroud)

序列SqlFiddle示例在这里