SQL不自动递增

时间:2012-05-09 11:44:50

标签: sql sql-server tsql auto-increment

我在C#app中触发了以下SQL I。

一切正常,但ID表不会自动递增。它为第一个条目创建值1,然后由于无法创建unquie ID而不允许其他插入。

这是SQL:

CREATE TABLE of_mapplist_raw (
    id          integer PRIMARY KEY NOT NULL,
    form_name   varchar(200) NOT NULL,
    form_revi   varchar(200) NOT NULL,
    source_map  varchar(200),
    page_num    varchar(200) NOT NULL,
    fid         varchar(200) NOT NULL,
    fdesc       varchar(200) NOT NULL
)";

我确定这是一个小学生错误。

2 个答案:

答案 0 :(得分:8)

你需要指定它的种子和增量。(另外,我不认为有integer个关键字....)

id  [int] IDENTITY(1,1) NOT NULL,

第一个值是种子

第二个是增加之间的差值

您可能会问的一个问题:

  

增加之间的增量?为什么我需要那个?它总是1 .... ??

好吧 - 是的,不是。有时你想在行之间留一个间隙 - 所以你可以稍后在...之间插入行,特别是如果它的聚集索引由那个键....而速度很重要...所以你可以预先设计它留下空白。

P.S。我很高兴听到观察者的其他情景。

答案 1 :(得分:2)

您需要提及身份。

id  int IDENTITY(1,1) NOT NULL