How can I have two columns in SQL Server auto increment?

前端 未结 3 1321
死守一世寂寞
死守一世寂寞 2021-01-07 06:48

I have two columns in a table of a SQL server DB that I would like to autoincrement when new fields are added. However, Managment Studio wont allow me to set two columns to

相关标签:
3条回答
  • 2021-01-07 07:13

    If you wanted the 2nd column to basically be a mirror of the first:

    ALTER TABLE dbo.myTable ADD
       foo  AS [rowid]
    GO
    

    If you wanted it to apply some math formula to it to achieve some kind of offset:

    ALTER TABLE dbo.myTable ADD
        foo  AS ([rowid]+1) * 7 --or whatever you like.
    GO
    
    0 讨论(0)
  • 2021-01-07 07:22

    There can only be one auto increment field per table. But, you could have a calculated field based on the auto increment field. Or, you could have an int field where you manage the sequence by front end code or by a trigger. And also you could use a sequence in SQL Server.

    CREATE SEQUENCE MySequence START WITH 100;
    
    CREATE TABLE MyTable
    (
        RealIdentity INT IDENTITY(1,1),
        RandomCol NVARCHAR(100),
        FakeIdentity INT DEFAULT NEXT VALUE FOR MySequence
    );
    
    0 讨论(0)
  • 2021-01-07 07:39

    You could make the second field a calculated field based on the first.

    Or make an INSERT trigger than programatically generates the value for the second.

    0 讨论(0)
提交回复
热议问题