在已有表上修改字段为自增长(没有外键)步骤
1. 先检查该表是否有主键约束
2. 检查是否有默认值
3. 删除主键约束及默认值
4. 删除列
5. 修改列为自增长
6. 设置主键
实例如下:
IF COL_LENGTH( tablename,columnname) IS not NULL
begin
declare @tableName nvarchar(100)
declare @columnName nvarchar(100)
declare @DFCol nvarchar(100)
declare @sqlDF nvarchar(1024)
declare @PKCol nvarchar(100)
declare @sqlPK nvarchar(1024)
set @tableName=tablename
set @columnName=columnname
select @PKCol= Constraint_Name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where Table_Name = @tableName AND Column_NAME = @columnName
set @sqlPK = 'ALTER TABLE '+ @tableName +' DROP constraint ' + @PKCol
select @DFCol= b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id(@tableName) and a.name = @columnName
set @sqlDF = 'ALTER TABLE '+ @tableName +' DROP constraint ' + @DFCol
exec sp_executesql @sqlDF
exec sp_executesql @sqlPK
alter table Department drop column DeptID
alter table Department add DeptID int IDENTITY (1, 1) NOT NULL
alter table Department add PRIMARY KEY(DeptID)
end
GO