当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
2015-07-22 16:01
375 查看
当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值。
当对数据库中的表进行插入操作时,有时候会出现这个异常。处理这个异常可以从两个方面触发:
数据库sql语句 。
修改Hibernate中持久化类映射配置文件中的主键生成策略。
一:数据库sql语句:
问题描述:当将数据库表主键设计为 (Orderid int identity primary key),相对这个主键IDENTITY_INSERT默认设置为OFF,就是不能够显示插入主键id的值,例子如下:
执行上面语句会提示一个错误:
服务器: 消息 544,级别 16,状态 1,行 1
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 ‘notice ’ 中的标识列插入显式值。
修改方法如下:
–允许将显式值插入表的标识列中 ON-允许 OFF-不允许
注意:
当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
–问题注意
(1)任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表
(2)如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用
(3)SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置
二:修改配置文件
在实体类的hibernate配置文件中,将主键生成策略改为如下:
当对数据库中的表进行插入操作时,有时候会出现这个异常。处理这个异常可以从两个方面触发:
数据库sql语句 。
修改Hibernate中持久化类映射配置文件中的主键生成策略。
一:数据库sql语句:
问题描述:当将数据库表主键设计为 (Orderid int identity primary key),相对这个主键IDENTITY_INSERT默认设置为OFF,就是不能够显示插入主键id的值,例子如下:
insert into t_notice ( id , createTime ) values (1,'2014-10-01 00:00:00')
执行上面语句会提示一个错误:
服务器: 消息 544,级别 16,状态 1,行 1
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 ‘notice ’ 中的标识列插入显式值。
修改方法如下:
–允许将显式值插入表的标识列中 ON-允许 OFF-不允许
set identity_insert notice ON--打开
set identity_insert notice OFF--关闭
注意:
当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
–问题注意
(1)任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表
(2)如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用
(3)SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置
二:修改配置文件
在实体类的hibernate配置文件中,将主键生成策略改为如下:
<generator class="native"></generator>
相关文章推荐
- HTML5
- redis 学习指南
- OpenStack local.conf
- elasticsearch的rest搜索--- 总述
- 如何生成图片的缩略图
- Lucene三(索引加权)
- 与善淘网一起做慈善商店
- hdu5293(2015多校1)--Tree chain problem(树状dp)
- 微信、陌陌等著名IM软件设计架构详解
- ajax返回数据的遍历方式
- Eclipse安装新的插件之后,通过离线安装的SVN或者其他插件不能用了
- 利用Redis BitMap 统计用户活跃指标
- 打开Jetty的start.jar,报错java.lang.UnsupportedClassVersionError
- 关于session问题
- Elasticsearch部分节点不能发现集群(脑裂)问题处理
- TrustZone——开源库—Linaro—OP-TEE
- 快速排序的尾递归优化
- AndroidStudio查看模拟机生成的数据库文件
- VMware虚拟机的CentOS无法上网的解决方法
- Redis 3.0官方文档翻译计划(2) ——从入门到精通(上)