SQLserver 自增长列

发布时间:2024-05-19 14:13 发布:上海旅游网

问题描述:

为一个商品表插入数据时,商品编号为自增长列,怎么实现插入的值为0001,0002,0003,0004......

问题解答:

如果你的表有个自增长列,可以用下面的语句一次性操作,而且可以保证编码不会插入重复值
declare @name varchar(4);
--max(id)是你自增长列id的最大值
set @name=(right('0000'+convert(varchar(5),((select max(id) from 表)+1)),4));
--print @name;
insert into 表 values(@name);
select * from 表 ;

ALTER table 表名 ADD

字段名 INT IDENTITY(1,1)

这个是给没有id字段的表添加一个自增ID字段

如果已经有了id 字段,那么必须要先drop掉已有字段。
代码如下:
ALTER table 表名 drop column 字段名

然后再执行上面的添加命令即可

自增长列的数据类型只能是"整形类".
像0001,0002这样的值会被自动转换成1,2.
如果是为了整齐好看,那么在建表时可以把标识种子设为1000001,标识递增量为1

可以在设计数据库的时候做(设置标识种子是0001,标识增量是1就可以了啊),也可以用代码 自增长列ll(ll identity(0001,1))

热点新闻