zoukankan      html  css  js  c++  java
  • 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题

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

    系统报这样的错误

    仅当使用了列的列表,并且 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]

  • 相关阅读:
    unsupported jsonb version number 123
    如何在MPlayer上支持RTSP
    TDengine 时序数据库的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos
    如何使用IoTSharp对接ModBus?
    如何从源码启动和编译IoTSharp
    Asp.Net Core 自动适应Windows服务、Linux服务、手动启动时的内容路径的扩展方法
    MQTTnet 的Asp.Net Core 认证事件的扩展
    Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
    The remote certificate is invalid according to the validation procedure 远程证书验证无效
    settings插拔式源码
  • 原文地址:https://www.cnblogs.com/itjeff/p/4328712.html
Copyright © 2011-2022 走看看