alter table bb add id int identity(1,1)

解决方案 »

  1.   

    我要用SQL改,要批量改很多。
      

  2.   

    先增加一个自增长的字段
    然后把字段的值赋给你你要想改为自动增加的主键的值alter table tablename add id int identity(1,1)
    go
    update tablename set col_name=id 
    go
    alter table tablename drop id
    go
      

  3.   

    有数据的话
    ALTER TABLE 表 ADD 编号1 bigint identity(1,1) not null
    go
    SET IDENTITY_INSERT 表 ON
    go
    update 表 set 编号1=编号
    go
    SET IDENTITY_INSERT 表 OFF
    go
    ALTER TABLE 表 DROP COLUMN 编号 
    go
    exec sp_rename '表.编号1','编号'
    go
      

  4.   

    试过吗?
    SET IDENTITY_INSERT 表 ON
    好像不管用。
      

  5.   

    CREATE TABLE dbo.Tmp_表
    (
    编号 int NOT NULL IDENTITY (1, 1),
    编号1 int NOT NULL
    )  ON [PRIMARY]SET IDENTITY_INSERT dbo.Tmp_表 ONIF EXISTS(SELECT * FROM dbo.表)
     EXEC('INSERT INTO dbo.Tmp_表 (编号, 编号1)
    SELECT 编号, 编号1 FROM dbo.表 TABLOCKX')SET IDENTITY_INSERT dbo.Tmp_表 OFFDROP TABLE dbo.表
    EXECUTE sp_rename N'dbo.Tmp_表', N'表'
      

  6.   

    select top 0 IDENTITY(int,1,1) 编号,其他列 into tem_表 from 表SET IDENTITY_INSERT Tmp_表 ONEXEC('INSERT Tmp_表 (编号,其他列) SELECT 编号,其他列 FROM 表')SET IDENTITY_INSERT Tmp_表 OFFDROP TABLE 表EXECUTE sp_rename N'dbo.Tmp_表', N'表'
      

  7.   


    如何用语句添加或去除表字段的自增属性
    http://expert.csdn.net/Expert/topic/2217/2217137.xml?temp=.8302118