如何将自动增量字段值设置为更高的数字?

时间:2013-08-15 15:04:09

标签: mysql sql

我在SQL中有一个名为num的列,我最初从1开始自动递增。我知道我可以使用以下命令从另一个值启动序列:

ALTER TABLE [myDatabase].[dbo].[myTable] AUTO_INCREMENT=500

现在已有的记录是什么。是否有可能增加num值?没有删除记录?

1 个答案:

答案 0 :(得分:0)

您无法更新标识列,但可以将数据移动到其他位置,删除原始数据,然后设置identity_insert并使用更新的执行器将数据移回。

SET NOCOUNT ON

-- Create table for test
CREATE TABLE #MyTable ( Id INT IDENTITY(1,1), Data INT )

INSERT INTO #MyTable ( Data ) VALUES ( 10 )
INSERT INTO #MyTable ( Data ) VALUES ( 20 )
INSERT INTO #MyTable ( Data ) VALUES ( 30 )

-- Store data in temp location
SELECT *
INTO #TempLocation
FROM #MyTable

-- Delete original data
DELETE #MyTable

-- Insert with updated id
SET IDENTITY_INSERT #MyTable ON
INSERT INTO #MyTable ( Id, Data )
SELECT Id + 500, Data
FROM #TempLocation

SET IDENTITY_INSERT #MyTable OFF