簡體   English   中英

更改身份的增量值-SQL Server 2005

[英]Change Increment value for Identity - SQL Server 2005

我想更改數據庫中IDENTITY列的增量值,但有以下限制:

  1. 無法刪除該列。
  2. 大約有2萬行。

解決方案是刪除表並使用更改的增量值重新創建表。 我不知道語法。

您能否建議語法或其他最佳解決方案?

提前致謝!

如果我根據您對我的評論的回答正確地理解了您,則將orig表的數據備份到temp表中,然后刪除了orig表,並希望重新創建orig表。

在這種情況下,您需要IDENTITY_INSERT設置ONOFF ,因為表的標識是唯一的。

語法為:

SET IDENTITY_INSERT [TableName] ON -- set to on
-- Put your insert statement here
-- insert the data from backed up temp table to your new table
SET IDENTITY_INSERT [TableName] OFF -- set to off

如果您可以接受重新創建表,那么重新創建表的語法就毫無魔力。

 CREATE TABLE temp_Table
 (
      -- Identity column with new settings
      -- other columns
 );

 INSERT INTO temp_Table
 SELECT -- Columns except identity column
 FROM old_table;

 DROP TABLE old_Table;

 EXEC sp_rename 'temp_Table', 'old_Table';

但是,您必須自己處理外鍵。

創建表后無法更改標識列。

而是使用以下命令重置SEED值。

DBCC CHECKIDENT('tablename', RESEED, 15)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM