ALTER TABLE [TEST] ALTER ADD [ID0] [INT] IDENTITY(1,1) NOT NULL
GOUPDATE [TEST] SET ID0=ID
GOALTER TABLE [TEST] DROP COLUMN [ID] 
GOEXEC sp_rename '[TEST].[ID0]', 'ID', 'COLUMN'
GO

解决方案 »

  1.   

    test表中并任何数据
    可以省掉那个UPDATE语句
      

  2.   

    test表中并任何数据,倒不如:
    ALTER TABLE [TEST] DROP COLUMN [ID] 
    GO
    ALTER TABLE [TEST] ALTER ADD [ID] [INT] IDENTITY(1,1) NOT NULL
    GO
      

  3.   

    还有IDENTITY的FIELD没有做设置,好象也不能UPDATE
      

  4.   

    谢谢各位,可是楼上的方法我都试过了。可是还不行。Server: Msg 156, Level 15, State 1, Line 4
    Incorrect syntax near the keyword 'ADD'.对156错误的解释是:
    该错误表示某 Transact-SQL 语句的语法不正确,并且在错误信息中指定的关键字附近检测到该语法错误。语法错误的最常见起因是 Transact-SQL 关键字或运算符拼写错误,以及以错误的顺序指定 Transact-SQL 语句的语法。该错误的更复杂起因之一可能是兼容级别与当前数据库不匹配。如果当前数据库具有的兼容级别不是 70,则 Microsoft? SQL Server? 不会识别兼容级别为 70 的数据库可以识别的关键字。
      

  5.   

    create table test (id int,name varchar(20))
    go
    alter table test drop column id
    go
    alter table test add id int identity(1,1) not null
    go
      

  6.   

    to:grooving(峡谷) 
    你仔细CHECK你的SQL语句,看看语法是否正确。
    应该不会的有ERROR MESSAGE.