IDENTITY表示新列是标识列。当向表中添加新行时,Microsoft® SQL Server™ 将为该标识列提供一个唯一的、递增的值。标识列通常与 PRIMARY KEY 约束一起用作表的唯一行标识符。可以将 IDENTITY 属性指派给 tinyint、smallint、int、bigint、decimal(p,0) 或 numeric(p,0) 列。对于每个表只能创建一个标识列。不能对标识列使用绑定默认值和 DEFAULT 约束。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。例子create table Test (
Id int IDENTITY(1,1),
Data  varchat(30),
CONSTRAINT PK_Test PRIMARY KEY (Id)
)
go

解决方案 »

  1.   

    我是想将ID字段设为定长的VARCHAR(如00001,00002,……),IDENTITY只能是数字型累加,不能保持定长,请问除了用最大值表还有其他方法吗?
      

  2.   

    create table tab (id int identity not null,strid as right('0000000000'+cast(id as varchar(10)),10),name varchar(10) null)
    go
    insert into tab(name) values('name')
    go