自动增长列
identity(起始值,步长)
实例:
--建表,很简单,就不说了
CREATE TABLE [Photos] (
[PhotoID] [int] IDENTITY (1, 1) NOT NULL ,
[AlbumID] [int] NOT NULL ,
[Caption] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
)
--清空表
truncate table dbo.Photos
GO
--打开容许对被IDENTITY修饰的列进行插入的开关,默认示关闭的,也就是不容许
set IDENTITY_INSERT dbo.Photos on
insert into Photos(PhotoID,AlbumID,Caption)values(1,1,'maql1')
insert into Photos(PhotoID,AlbumID,Caption)values(1,2,'maql2')
insert into Photos(PhotoID,AlbumID,Caption)values(1,3,'maql3')
insert into Photos(PhotoID,AlbumID,Caption)values(2,1,'zhangr1')
insert into Photos(PhotoID,AlbumID,Caption)values(2,2,'zhangr2')
insert into Photos(PhotoID,AlbumID,Caption)values(2,3,'zhangr3')
go
--关闭IDENTITY_INSERT开关,也就是不容许对这一列进行插入,而是让其自动增长
set IDENTITY_INSERT dbo.Photos off
insert into Photos(AlbumID,Caption)values(1,'maql1')
insert into Photos(AlbumID,Caption)values(2,'maql2')
insert into Photos(AlbumID,Caption)values(3,'maql3')
insert into Photos(AlbumID,Caption)values(1,'zhangr1')
insert into Photos(AlbumID,Caption)values(2,'zhangr2')
insert into Photos(AlbumID,Caption)values(3,'zhangr3')
insert into Photos(AlbumID,Caption)values(3,'maql4')
go