CREATE TABLE tableA ( id INT NOT NULL IDENTITY(1,1), --是的话,建表语句就会多个IDENTITY关键字,作用是这个字段不允许用户操作,是由系统自动按起始值(1),增量值(1)生成的。 NAME VARCHAR(10) )CREATE TABLE tableB ( id INT NOT NULL, --否的话,建表语句就会少这个关键字。然后这个字段的值由用户来维护。 NAME VARCHAR(10) )--必要时也可以打开选项,由用户来维护自增列(只能插入,不能更新已有的id值) SET IDENTITY_INSERT tableA ON INSERT tableA(id) VALUES(1) SET IDENTITY_INSERT tableA OFF
(
id INT NOT NULL IDENTITY(1,1), --是的话,建表语句就会多个IDENTITY关键字,作用是这个字段不允许用户操作,是由系统自动按起始值(1),增量值(1)生成的。
NAME VARCHAR(10)
)CREATE TABLE tableB
(
id INT NOT NULL, --否的话,建表语句就会少这个关键字。然后这个字段的值由用户来维护。
NAME VARCHAR(10)
)--必要时也可以打开选项,由用户来维护自增列(只能插入,不能更新已有的id值)
SET IDENTITY_INSERT tableA ON
INSERT tableA(id) VALUES(1)
SET IDENTITY_INSERT tableA OFF
标识列使用int,bigint,甚至是decimal(10,0)或numeric(10,0)是因为整型数据的自动增长,数据库内部有执行的机制。