【发布时间】:2014-02-01 19:45:29
【问题描述】:
我有一张桌子:
CREATE TABLE [dorkOrder] (
[doId] int identity(1,1) NOT NULL,
[shId] int NOT NULL,
[mopId] int NOT NULL,
[dorkOrderNo] varchar(20) NULL,
[doDate] date NULL
);
现在,当我将数据插入其中而不是以这种方式生成 doId 1,2,3,4,5,6,7 时,它会以以下奇怪的方式生成它:
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
2002
2003
2004
2005
2006
2007
2008
2013
请帮我解决这个问题。
【问题讨论】:
-
除了这个是重复的之外,使用
IDENTITY列的大部分价值是您不必(也不应该)担心它生成的值。你为什么? -
@Yuck 你认为这是正确的做法吗?重新播种表格 1 并输入 1000 条记录后,下一个再次变为 1002 会发生什么?或许?我的问题是这些是我输入的第一条记录,所以为什么它不是从 1 开始。
-
@AaronBertrand 很好的发现和有趣的阅读。这无疑是罪魁祸首。随着人们进入 2012 年,可能会有更多这样的事情......
-
@Aaron Bertrand 现在回答了这个问题。
标签: sql sql-server sql-server-2012