Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menambah Lajur Identiti pada Jadual Pelayan SQL Sedia Ada dengan Data?

Bagaimanakah Saya Boleh Menambah Lajur Identiti pada Jadual Pelayan SQL Sedia Ada dengan Data?

Patricia Arquette
Lepaskan: 2025-01-22 23:01:11
asal
396 orang telah melayarinya

How Can I Add an Identity Column to an Existing SQL Server Table with Data?

Menambah Lajur Identiti pada Jadual Pelayan SQL Sedia Ada

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Pertimbangan Penting:

  • Sandaran: Sentiasa sandarkan data anda sebelum melakukan perubahan skema.
  • Transaksi: Pertimbangkan untuk membungkus operasi ini dalam transaksi untuk atomicity.
  • Pengujian: Uji perubahan ini dengan teliti dalam persekitaran pembangunan atau pementasan sebelum menggunakannya pada pengeluaran.
  • Kehilangan Data: Kaedah 2 mengakibatkan kehilangan data dalam lajur kunci utama asal. Pilih kaedah yang sesuai berdasarkan keperluan data anda.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan