Masalah: Anda perlu menambah lajur identiti pada jadual SQL Server yang sudah mengandungi data. Mengubah secara langsung lajur sedia ada untuk menjadi identiti tidak disokong.
Penyelesaian: Dua kaedah wujud untuk mencapai ini:
Kaedah 1: Buat Jadual Baharu
Kaedah ini mengekalkan data sedia ada. Jadual baharu dibuat dengan lajur identiti, data disalin dan jadual lama diganti.
T-SQL:
<code class="language-sql">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'</code>
Kaedah 2: Tambahkan Lajur Identiti Baharu
Pendekatan ini menambah lajur identiti baharu, mengalih keluar kunci utama lama dan menamakan semula lajur baharu. Nota: Data sedia ada dalam lajur kunci utama asal tidak akan dikekalkan.
T-SQL:
<code class="language-sql">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'</code>
Pertimbangan Penting:
Maklumat ini memberikan penjelasan yang lebih ringkas dan padat tentang teks asal, sambil mengekalkan makna teras dan mengekalkan imej.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Lajur Identiti pada Jadual Pelayan SQL Sedia Ada dengan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!