ALTER TABLE [dbo].[表名] ADD [tempid] int go UPDATE [dbo].[表名] set [tempid] = [自增ID] go ALTER TABLE [dbo].[表名] DROP COLUMN [自增ID] go EXEC sp_rename '表名.tempid','自增ID'
在插入的时候可以类似一下格式 SET IDENTITY_INSERT 表 ONINSERT INTO 表 (id, 其它列) VALUES(?, ?。)SET IDENTITY_INSERT 表 OFF
alter table 表名 alter column 列名 int
alter table 表名 alter column 列名 int 这个不成,还是自动编号梅的方法可行,但是改变后新的字段就会排在最后,如何能让这个字段排在第一列呢
EXEC sp_configure 'allow updates',1 GO RECONFIGURE WITH OVERRIDE GOUPDATE syscolumns SET rowid= WHERE id=object_id(N'表名')(这里只是个例子!在删除和修改了列以后,syscolumns里面的rowid(可能是cowid吧)现在手头没有数据库软件,没有办法看,你可以看到这列是排了序号的,在这里你把序号重新修改就可以了。 GOEXEC SP_CONFIGURE 'allow updates',0 GO RECONFIGURE WITH OVERRIDE GO
alter table 表名 alter column 列名 int
go
UPDATE [dbo].[表名] set [tempid] = [自增ID]
go
ALTER TABLE [dbo].[表名] DROP COLUMN [自增ID]
go
EXEC sp_rename '表名.tempid','自增ID'
SET IDENTITY_INSERT 表 ONINSERT INTO 表 (id, 其它列) VALUES(?, ?。)SET IDENTITY_INSERT 表 OFF
GO
RECONFIGURE WITH OVERRIDE
GOUPDATE syscolumns SET rowid= WHERE id=object_id(N'表名')(这里只是个例子!在删除和修改了列以后,syscolumns里面的rowid(可能是cowid吧)现在手头没有数据库软件,没有办法看,你可以看到这列是排了序号的,在这里你把序号重新修改就可以了。
GOEXEC SP_CONFIGURE 'allow updates',0
GO
RECONFIGURE WITH OVERRIDE
GO