• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sqlserver为标识列指定显式值
    POST TIME:2021-10-18 22:47

    sqlsever为标识列指定显式值的问题,大多是大家在两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误:
    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'*'中的标识列指定显式值。
    在网上找到了解决方案,亲自试过,可以解决。
    一、问题详述如下:
    系统:windows2003
    数据库:2005
    数据库实例:wzgl2004 和wzgl2003,这两个实例都有表kc
    执行语句
    insert into wzgl2004.dbo.kc select * from wzgl2003.dbo.kc
    就有报错信息:
    "仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'wzgl2004.dbo.kc ' 中为标识列指定显式值。"

    二、解决方法:

    复制代码 代码如下:

    SET IDENTITY_INSERT test ON
    insert into wzgl2004.dbo.kc(id,name) select (id,name) from wzgl2003.dbo.kc
    SET IDENTITY_INSERT test OFF

    三、SET IDENTITY_INSERT的帮助知识
    1、SET IDENTITY_INSERT :允许将显式值插入表的标识列中。
    2、语法
    SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
    参数
    database
    是指定的表所驻留的数据库名称。
    owner
    是表所有者的名称。
    table
    是含有标识列的表名。

    3、附加:任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoftreg; SQL Server#8482; 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。 如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。
    SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。
    sqlsever为标识列指定显式值总结到此结束,如有疑问请联系我们www.cncnc.com.cn,中国信息港为你提供高效安全的sql数据库。

    您可能感兴趣的文章:
    • 在SQL Server数据库中为标识(IDENTITY)列插入显式值
    上一篇:Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
    下一篇:SQL2005 性能监视器计数器错误解决方法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信