IDENTITY表示新列是标识列。当向表中添加新行时,Microsoft® SQL Server™ 将为该标识列提供一个唯一的、递增的值。标识列通常与 PRIMARY KEY 约束一起用作表的唯一行标识符。可以将 IDENTITY 属性指派给 tinyint、smallint、int、bigint、decimal(p,0) 或 numeric(p,0) 列。对于每个表只能创建一个标识列。不能对标识列使用绑定默认值和 DEFAULT 约束。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
[productid] [int] (IDENTITY(1,1) NOT NULL, <==左侧多了一左括号
[numINstock] [int] IDENTITY(1,1) NOT NULL, <==一张表同时只能拥有一个自增列
) ON [PRIMARY]
GO
CREATE TABLE account (
[accid] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[loginname] [varchar] (50) NOT NULL,
[loginpass] [varchar] (50) NOT NULL,
[realname] [varchar] (50) NOT NULL,
[userrole] [varchar] (50) NOT NULL,
) ON [PRIMARY]
GO
CREATE TABLE StockInfo(
[productid] [int] IDENTITY(1,1) NOT NULL,
[numINstock] [int] IDENTITY(1,1) NOT NULL,
) ON [PRIMARY]
GO
CREATE TABLE productInfo(
[productid] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[productname] [varchar] (50) NOT NULL,
[producearea] [varchar] (50),
[productdesc] [varchar] (500),
) ON [PRIMARY]
GO
CREATE TABLE translog(
[orderid] [varchar] (50) NOT NULL PRIMARY KEY,
[productid] [int] IDENTITY(1,1) NOT NULL,
[transnum] [int] IDENTITY(1,1) NOT NULL,
[transdate] [datetime] (8) NOT NULL,
[accid] [int] IDENTITY(1,1) NOT NULL,
[transtate] [bit] (1) NOT NULL,
) ON [PRIMARY]
GO
CREATE TABLE roleinfo(
[roleid] [int] IDENTITY(1,1) NOT NULL,
[userrole] [varchar] (50) NOT NULL,
) ON [PRIMARY]
GO
CREATE TABLE tab_old_num(
[id#] [int] (4) NOT NULL,
[id_year] [char] (4) NOT NULL,
[id_month] [char] (2) NOT NULL,
[id_day] [char] (2) NOT NULL,
[id_num] [int] (4) NOT NULL,
) ON [PRIMARY]
GO