首頁 > 資料庫 > mysql教程 > 如何為現有 SQL Server 欄位新增識別屬性?

如何為現有 SQL Server 欄位新增識別屬性?

Patricia Arquette
發布: 2025-01-22 23:22:11
原創
906 人瀏覽過

How to Add an Identity Property to an Existing SQL Server Column?

為現有 SQL Server 欄位新增識別:兩種方法

直接在 SQL Server 中的現有欄位新增識別屬性並不是一項簡單的任務。 本文概述了實現此目的的兩種方法,每種方法都有自己的權衡:

方法1:建立帶有Identity的新表

此方法保留現有資料。

<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>
登入後複製

方法2:新增新的身分列並取代舊的

此方法不會保留新身分列中的現有資料。

<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>
登入後複製

重要注意事項:

請記住在實現任一方法之前解決連結到原始主鍵列的任何外鍵約束。 否則將導致資料庫錯誤。

有關更多詳細資訊和故障排除,請參閱此 Microsoft SQL Server 論壇主題:

https://www.php.cn/link/16dd8c942ad630be7e5a12b681b3f5c4

以上是如何為現有 SQL Server 欄位新增識別屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板