Anda tidak dapat mengubah kolom identitas yang ada.
Anda memiliki 2 opsi,
-
Buat tabel baru dengan identitas &jatuhkan tabel yang ada
-
Buat kolom baru dengan identitas &jatuhkan kolom yang ada
Pendekatan 1. (Tabel baru ) Di sini Anda dapat mempertahankan nilai data yang ada pada kolom identitas yang baru dibuat. Perhatikan bahwa Anda akan kehilangan semua data jika 'jika tidak ada' tidak terpenuhi, jadi pastikan Anda meletakkan kondisi di drop juga!
CREATE TABLE dbo.Tmp_Names
(
Id int NOT NULL
IDENTITY(1, 1),
Name varchar(50) NULL
)
ON [PRIMARY]
go
SET IDENTITY_INSERT dbo.Tmp_Names ON
go
IF EXISTS ( SELECT *
FROM dbo.Names )
INSERT INTO dbo.Tmp_Names ( Id, Name )
SELECT Id,
Name
FROM dbo.Names TABLOCKX
go
SET IDENTITY_INSERT dbo.Tmp_Names OFF
go
DROP TABLE dbo.Names
go
Exec sp_rename 'Tmp_Names', 'Names'
Pendekatan 2 (Kolom baru ) Anda tidak dapat mempertahankan nilai data yang ada pada kolom identitas yang baru dibuat, Kolom identitas akan menyimpan urutan nomor.
Alter Table Names
Add Id_new Int Identity(1, 1)
Go
Alter Table Names Drop Column ID
Go
Exec sp_rename 'Names.Id_new', 'ID', 'Column'
Lihat posting Forum Microsoft SQL Server berikut untuk detail selengkapnya:
Cara mengubah kolom menjadi identitas(1,1)