修改現有資料表以包含識別列
許多資料庫任務需要在現有資料表中新增識別列。 一個常見的問題是是否修改現有列或建立新列。
為什麼無法直接轉換
直接將現有列轉換為識別列是不可行的。 標識列從定義的種子值開始產生順序值。 修改現有資料列會破壞資料完整性。
新增身分列的策略
新增識別列有兩種主要方法:
1。 建立帶有身分的新表
這涉及:
2。新增的身份列
此方法包括:
示例性 SQL 查詢
方法一:新建表
<code class="language-sql">CREATE TABLE New_Table ( Id INT NOT NULL IDENTITY(1, 1), Name VARCHAR(50) NULL ); INSERT INTO New_Table (Id, Name) SELECT Id, Name FROM Original_Table; DROP TABLE Original_Table; EXEC sp_rename 'New_Table', 'Original_Table';</code>
方法2:新增欄位
<code class="language-sql">ALTER TABLE Original_Table ADD Id_new INT IDENTITY(1, 1); ALTER TABLE Original_Table DROP COLUMN Id; EXEC sp_rename 'Original_Table.Id_new', 'Id', 'COLUMN';</code>
重要注意事項
NOT NULL
約束。 在插入資料之前將 IDENTITY_INSERT
設定為 ON
以維護現有值(如果需要)。 以上是如何為現有資料庫表新增識別列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!