转换程序的一些问题:设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。8cad0260

时间:2022-04-26
本文章向大家介绍转换程序的一些问题:设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。8cad0260,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

因为先前的转换程序备份都没了:( 现在又重新开始学2005,所以借此准备再次写一个转换程序(针对asp.net forums) 考虑到一个问题,先前我都是靠内部存储过程进行注册、发帖、建立版面的,可这次我是想在此基础上,能变成能转换任何论坛的,因此不想借助他自带的存储过程。 先前有一点很难做,因为一般的主键都是自动递增的,在自动递增的时候是不允许插入值的,这点让我一只很烦,今天有时间,特地建立了一个表来进行测试

字段名

备注

ID

设为主键 自动递增

Name

字符型

建立以后,我先随便输入了一些数据(当中输入的时候,ID是不允许输入的,但会自动递增)

随后我运行一条Sql语句:

insert into [Test] (id,name) values (4,'asdf');

很明显,抛出一个Sql错误:

消息 544,级别 16,状态 1,第 1 行

当  设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。    

网上查找了一下,可以利用Set IDENTITY_INSERT On来解决这个问题。

至此,我只要在转换插入数据的时候,利用一个事务进行插入工作

Set IDENTITY_INSERT [TableName] On;

Tran

Insert Into.



Set IDENTITY_INSERT [TableName] Off;

ok,成功插入数据,目的达到。 写这文章不是为了什么,就为了自己能记住,让自己以后能熟练运用。 PS1:今天公司上午网站出现问题,造成了很严重的后果,我很坚信我的同事不会犯connection.close()的错误,错误原因还没有查到,星期一准备接受全体惩罚 PS2:年会要到了,要我表演节目,晕死,还演很抽象的人物,诶,看来以后在公司是没法见人了