zoukankan      html  css  js  c++  java
  • K3违反内码唯一键约束

    K3有时候需要向数据库中插入数据,但是插入的时候遇到主键冲突的错误,可以用如下方法解决。

    比如新增联系人时,完整错误如下:
    ? ? 违反了 PRIMARY KEY 约束 'PK_CRM_Contact'。不能在对象 'dbo.CRM_Contact' 中插入重复键。
    ? ? 语句已终止。

    出现此情况的原因一般是做二次开发的时候没有处理处理ICMaxNum表,导致表ICMaxNum中的ID比联系人表的最大ID还小,因此导致ID重复

    解决方法:
    --找到CRM_Contact的FItemID、ICMaxNum表的FMaxNum
    select FMaxNum,* From ICMaxNum where ftablename='CRM_Contact'
    select top 1 * from CRM_Contact order by FContactID desc?
    --如果CRM_Contact的FItemID比ICMaxNum表的FMaxNum大
    --1、则删除IC_MaxNum的记录条件是ftablename in ('CRM_Contact')
    --2、需要修改ICMaxNum的FMaxnum值比CRM_Contact的FItemID大1(2449是举例数据)
    delete from IC_MaxNum where ftablename in ('CRM_Contact')
    update ICMaxNum set FMaxnum=2449 where ftablename='CRM_Contact'
    update t_Identity set FNext=2499 where fname='CRM_Contact'

    注意事项:1、二次开发做单据导入的时候一定要处理ICMaxNum、t_Identity、IC_MaxNum这三个表
    ? ?? ?? ? 2、可以调用存储过程GetICMaxNum来获取新的ID

    CRM销售合同
    select FMaxNum,* From ICMaxNum where ftablename='t_RPContract'
    select top 1 * from t_RPContract order by FContractID desc


    update ICMaxNum set FMaxnum=1134 where ftablename='t_RPContract'
    update t_Identity set FNext=1134 where fname='t_RPContract'

  • 相关阅读:
    Android——Room数据库版本管理(保留现有数据不丢失)
    javaweb分页查询实现
    《人月神话》读后感(一)
    Android Studio代理-build过慢以及gradle下载失败解决方案
    Room----Android数据库(SQLite)
    Android Jetpack -- Lifecycles篇
    Android学习进度四
    Android Jetpack -- Navigation 篇
    Android Jetpack -- ViewModel篇(二)
    Android Jetpack -- ViewModel篇(一)
  • 原文地址:https://www.cnblogs.com/zfangfang/p/9982433.html
Copyright © 2011-2022 走看看