您的位置:首页 > 数据库

仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'Admin' 中为标识列指定显式值。

2010-04-24 08:48 423 查看
今天在调试项目的时候使用SqlServer遇到了上面的错误:

我像管理员表中插入数据:

inert into Admin vlues(1,'liu','123')

在结果窗口中显示了:仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'Admin' 中为标识列指定显式值。
微软的解释:


试图将包含特定标识值的行插入包含标识列的表中。但是,未提供列的列表或没有为指定的表启用 SET IDENTITY_INSERT。

处理办法:

若要成功地将特定的标识行插入包含标识列的表中,必须提供列的列表并且将 SET IDENTITY_INSERT 设为 ON。

于是我进行了如下操作:

set IDENTITY_INSERT Admin ON

insert into Admin(AdminID,AdminName,AdminPass) values(2,'li','123')

成功插入数据。

也可以进行如下操作:

不去设置 IDENTITY_INSERT,此项默认是ON

insert into Admin(AdminName,AdminPass)values('li','123')

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

select * from sysobjects where xtype='u'

2:另外,在SQL2005中,没有NOW()这个函数,如果获得当前时间,GETDATE();

返回一个DATETIME类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  insert sqlserver sql 微软
相关文章推荐