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

来源:互联网 发布:魔兽地图制作软件 编辑:程序博客网 时间:2024/06/05 01:50

今天在调试项目的时候使用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类型

原创粉丝点击