我的INSERT语句:
create procedure sp_addArticle
(
@content ntext,
@title nchar(500),
@classname char(200),
@username char(200),
@headline int,
@highlight int,
@summary char(400),
@Nkey char(400),
@writer char(100),
@source char(100),
@popedom char(100),
@checkup int
)
as
insert into db_Article
values
(
@content,@title,@classname,@username,@headline,
@highlight,@summary,@Nkey,@writer,@source,0,
GETDATE(),@popedom,@checkup
)
go错误提示:
仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'db_Article' 中为标识列指定显式值。不知道怎么回事,请帮忙看看!

解决方案 »

  1.   

    服务器: 消息 8101,级别 16,状态 1,过程 sp_addArticle,行 17
      

  2.   

    是不是有id列啊!
    如果是这样的话。就回出现这个情况的!标识符列可用 IDENTITY 属性建立,使应用程序开发人员得以对表中所插入的第一行指定标识数字(Identity Seed 属性),并确定要添加到种子上的增量(Identity Increment 属性)以决定后面的标识数字。在向具有标识符列的表中插入值时,Microsoft® SQL Server™ 2000 通过递增种子值的方法自动生成下一个标识值。
      

  3.   

    里面的ArticleID的标识我已经把它设置成“是”了,种子和增量都为1。
      

  4.   

    insert into db_Article(column1,column2,...)
    values
    (
    @content,@title,@classname,@username,@headline,
    @highlight,@summary,@Nkey,@writer,@source,0,
    GETDATE(),@popedom,@checkup
    )
    go
    这样来才对
      

  5.   

    有一列是自增长的,不要插入任何值insert into db_Article(字段1,字段2..不包含自增的那个)
    values
    (
     ...
    )