我在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
)";
我确定这是一个小学生错误。
答案 0 :(得分:8)
你需要指定它的种子和增量。(另外,我不认为有integer
个关键字....)
id [int] IDENTITY(1,1) NOT NULL,
第一个值是种子
第二个是增加之间的差值
您可能会问的一个问题:
好吧 - 是的,不是。有时你想在行之间留一个间隙 - 所以你可以稍后在...之间插入行,特别是如果它的聚集索引由那个键....而速度很重要...所以你可以预先设计它留下空白。增加之间的增量?为什么我需要那个?它总是1 .... ??
P.S。我很高兴听到观察者的其他情景。
答案 1 :(得分:2)
您需要提及身份。
id int IDENTITY(1,1) NOT NULL