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

简介: 因为先前的转换程序备份都没了:( 现在又重新开始学2005,所以借此准备再次写一个转换程序(针对asp.net forums) 考虑到一个问题,先前我都是靠内部存储过程进行注册、发帖、建立版面的,可这次我是想在此基础上,能变成能转换任何论坛的,因此不想借助他自带的存储过程。

因为先前的转换程序备份都没了:( 现在又重新开始学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:年会要到了,要我表演节目,晕死,还演很抽象的人物,诶,看来以后在公司是没法见人了

相关文章
|
8月前
|
SQL 关系型数据库 MySQL
MySQL变量使用与介绍之为查询结果增加序号列和自定义序号列
SQL三:用户表(包含字段有:用户ID[自增]、姓名、性别、民族、出生日期、身份证号),无论查询条件如何,要求查询的结果显示一个行号列(即:第一行显示1,第二行显示2,第三行显示3,依此类推)
191 0
|
10月前
|
数据库
因祸得福——创建视图时改变字段的类型
因祸得福——创建视图时改变字段的类型
106 0
|
算法
保存不带循环的表
保存不带循环的表
65 0
|
Oracle 关系型数据库
ORA-01779: 无法修改与非键值保存表对应的列
ORA-01779: 无法修改与非键值保存表对应的列
ORA-01779: 无法修改与非键值保存表对应的列
修改某个数据列的名字或者数据类型|学习笔记
快速学习修改某个数据列的名字或者数据类型
141 0
|
关系型数据库 MySQL
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...
218 0
mysql更新一个表中的姓名字段,随机取出姓,名部分截取该表中另外一个字段拼接...