首頁 >資料庫 >mysql教程 >如何在 SQL Server 中將現有列設為識別列?

如何在 SQL Server 中將現有列設為識別列?

Linda Hamilton
Linda Hamilton原創
2025-01-22 23:18:11293瀏覽

How to Make an Existing Column an Identity Column in SQL Server?

將現有欄位轉換為 SQL Server 中的識別列

將表的主鍵修改為標識列,特別是當表已經包含重要資料時,需要仔細考慮。 本指南概述了此過程的最佳實踐。

新增身分屬性的 SQL 解決方案:

直接將現有欄位變更為識別列在 SQL Server 中是不可行的。 但是,有兩種有效的解決方法:

  1. 建構一個具有身分的新表:

    <code class="language-sql">CREATE TABLE dbo.Tmp_Names
    (
      Id int NOT NULL IDENTITY(1, 1),
      Name varchar(50) NULL
    )</code>

    使用原始表中的資料填入新表,並保留現有資料。 最後,用新表取代舊表。

  2. 引入新的身分欄:

    <code class="language-sql">ALTER TABLE Names
    ADD Id_new Int IDENTITY(1, 1)</code>

    刪除原始列並重新命名新的識別列以符合舊的主鍵。

重要提示:

  • 「新表」方法允許保留現有資料值。
  • 「新列」方法不會保留新識別列中的現有資料值。
  • 如需深入討論和進一步協助,請參閱 Microsoft SQL Server 論壇有關將欄位變更為識別屬性的主題。

以上是如何在 SQL Server 中將現有列設為識別列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn