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

解决方案 »

  1.   

    CREATE TABLE StockInfo(
    [productid] [int] (IDENTITY(1,1) NOT NULL,   <==左侧多了一左括号
    [numINstock] [int] IDENTITY(1,1) NOT NULL,   <==一张表同时只能拥有一个自增列
    ) ON [PRIMARY]
    GO
      

  2.   

    --try
    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