(1,1)在SQL中的含义是什么?

时间:2016-01-23 16:34:54

标签: sql tsql

SQL中的(1,1)是什么意思?我的意思是在以下背景下:

create table PetOwner
(
    Id      int identity(1,1)
,   Name        nvarchar(200)
,   Policy  varchar(40)
)

2 个答案:

答案 0 :(得分:15)

Id int identity(1,1)中,第一个1表示ID的起始值,第二个1表示ID的增量值。它会增加1,2,3,4 ..如果它是(5,2),那么,它从5开始,增加2,如5,7,9,11,......

答案 1 :(得分:8)

SQL Server IDENTITY列:

  

IDENTITY [(种子,增量)]

     

标识列可用于生成键值。身份   列上的属性保证以下内容:

     
      
  • 每个新值都是根据当前种子生成的。增量。

  •   
  • 特定交易的每个新值都与表中的其他并发交易不同。

  •   

从步骤1的1开始。

生成“连续”数字的非常方便的方法。请注意:

  

重用值 - 对于具有特定种子/增量的给定标识属性,引擎不会重用标识值。 如果特定的insert语句失败或者回滚insert语句,则消耗的标识值将丢失,并且不会再次生成。生成后续标识值时,这可能会导致间隙。

create table #PetOwner(
    Id      int identity(1,1)
,   Name        nvarchar(200)
,   Policy  varchar(40));

INSERT INTO #petOwner(Name, Policy)
VALUES ('Tim', 'a'),('Bob' ,'b');

SELECT *
FROM #PetOwner;

LiveDemo