今天在处理数据库过程中碰到这样的问题在插入一条数据到表中

系统报这样的错误

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

表有一列是自增长的标识列 ”字段1“

如果这样插入

SET IDENTITY_INSERT platform..as_userinfo ON

INSERT INTO platform..As_UserInfo values('110','张飞','男',20120401,18,'团员',2008-3-1)

SET IDENTITY_INSERT platform..as_userinfo OFF

系统就会报这样的错误 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题

指定列列表后就可以正常插入数据,即必须把表明的字段一个一个列出来才可以正常插入,如下:

SET IDENTITY_INSERT platform..as_userinfo ON

INSERT INTO platform..As_UserInfo(字段1,字段2,字段3,字段4,字段5,字段6) values('110','张飞','男',20120401,18,'团员',2008-3-1)

SET IDENTITY_INSERT platform..as_userinfo OFF

另,如果需要删除有主外键关联的一些表数据,第一次删除时一般会出现因有主外键关联而报错不能删除一些数据,

解决这个问题是,多执行几次删除主外键表的语句即可,每次执行都会把能删除的表的数据尽量删除,如每次都会删除外键表的数据,

外键表的数据删除后,相关联的的主键表的数据也就能删除了,这样执行下去,数据就会越来越少,直至把符合条件的数据完全删除,如:

ID为两表主键,

INSERT INTO [dbo].[Category](ID, CategoryName)
SELECT 1,'111'

INSERT INTO [dbo].[Category](ID, CategoryName)
SELECT 2,'222'

INSERT INTO [dbo].[Category](ID, CategoryName)
SELECT 3,'333'

INSERT INTO [dbo].[Category](ID, CategoryName)
SELECT 4,'444'

INSERT INTO [dbo].[Product](ID,CategoryID,ProductName)
SELECT 1,1,'p111'

INSERT INTO [dbo].[Product](ID,CategoryID,ProductName)
SELECT 2,1,'p12211'

INSERT INTO [dbo].[Product](ID,CategoryID,ProductName)
SELECT 3,1,'p1233211'

INSERT INTO [dbo].[Product](ID,CategoryID,ProductName)
SELECT 4,2,'p1233211'

DELETE FROM [dbo].[Category]

DELETE FROM [dbo].[Product]

仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题...相关推荐

  1. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'Address'中的标识列指

    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'Address'中的标识列指 解决办法,将主键的ID自增长先设置为false 转载于:https://www.cnblog ...

  2. 基础SQL Server 操作问题——仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列制定显示值

    在表中插入多条字段 问题一:仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列制定显示值 解决方法: 执行: SET IDENTITY_INSERT 表名 ON    //设 ...

  3. Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值

    场景 通过Navicat向sqlserver中插入一条数据时提示: 解决 这是因为在设计表时,将主键ID设置为自增约束,当插入数据或者执行插入语句时,如果包含这个 主键字段,就会提示错误. 打开数据库 ...

  4. sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。...

    INSERT INTO XXXXXXXXX.dbo.XXXXXXXXX select * from XXXXXXXXX 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'X ...

  5. 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。...

    像这样的问题怎么解决呢? 问题分析: 意思是你的主键是自动编号类型的,所以不能向该列插入数据. 解决办法: 执行 语句 :SET IDENTITY_INSERT CUSTOMER_TBL ON 然后在 ...

  6. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值

    {"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句  B: ...

  7. 不能表中的标识列插入显示值

    {"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句  B: ...

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

    ps = con.prepareStatement("insert into SendMealAddress values(null,?,?,?,?)"); 表有一列是自增长的标识 ...

  9. 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值错误的解决方法...

    一个主键.两个外键,把两个外键改为非空就行了. CREATE TABLE [dbo].[User_Compare]([Id] [int] IDENTITY(1,1) NOT NULL,[UserId] ...

最新文章

  1. jmeter根据循环获取参数_jmeter forEach循环获取response参数值进行接口请求
  2. python cnn模型_ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
  3. [leetcode] 21.合并两个有序链表
  4. Data Poisoning Attacks to Deep Learning Based Recommender Systems论文解读
  5. 安全性配置-定义任务流节点
  6. maven工程启动时报“Cannot resolve XXX:XXX:xx.xx.xx”错误的问题
  7. redis同步到磁盘
  8. 数据库设计系列[04]组织结构加入权限系统
  9. Java简单从文件读取和输出
  10. python做语音信号处理
  11. 聚合支付的钱先到哪?一文让你读懂什么是聚合支付
  12. ArcGIS API For Javascript之地图基本加载与显示,地图切换、缩放、定位、比例尺、鹰眼图、坐标显示、查询搜索功能实现
  13. linux远程win7无法连接wifi,苹果电脑win7系统连不上wifi热点深度纯净
  14. 中国石油大学(北京)-《外国文学作品选读》在线考试
  15. ios 裁剪框大小_iOS自定义裁剪图片比例尺寸,图片自动旋转解决办法
  16. 实验5 :分析system_call中断处理过程
  17. 谈谈我对ai发展的看法
  18. 2022年遂宁市团体标准培优计划项目名单及申报指南
  19. 人体骨骼关键点检测的算法
  20. python3 下载 并 保存 pdf

热门文章

  1. android之阴影效果
  2. linux之awk使用技巧
  3. python全栈开发 * 04 * 180604
  4. 关于JDK中的集合总结(二)
  5. VS2010SP1安装失败解决方法
  6. 用JAVA Excel API 实现对Excel表格的读写更新 (转)
  7. html圆形空心选择按钮,CSS3 简单的实心/空心按钮
  8. 【论文写作】体育城场地预约系统的数据表如何设计
  9. Linux 根文件系统目录结构与功能,4.Linux根文件系统和目录结构及bash特性
  10. java中static_认识java中的static