3

我在 C# 应用程序中触发了以下 SQL。

一切正常,但 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
)";

我敢肯定这是一个小学生的错误。

4

2 回答 2

8

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

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

第一个值是种子

第二个是增量之间的增量

A Question you might ask :

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

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

ps 很高兴听到观察者的其他情况。

于 2012-05-09T11:46:14.470 回答
2

您需要提及身份。

id  int IDENTITY(1,1) NOT NULL
于 2012-05-09T11:47:22.050 回答