zoukankan      html  css  js  c++  java
  • oracle 倒库后insert id冲突的问题

    错误为:ORA-00001: unique constraint violated

    把test库的数据导入到另一个库后,忘记修改自增id sequence的nextval了,因此,当前的数据库中数据和sequence中nextval对应不上,可能数据库中已经有了id为50的数据了,而sequence的nextval值才到34,因此,继续插入数据就会id冲突了。

    解方方法:

    -- 首先从待插入表中拿到当前的最大id
    select max(id) from current_table; --如当前最大id为19999
    --然后查看id序列的nextval值
    selec seq.nectval from dual; --如 10000
    --然后
    alter sequence seq increment by 20000;--修改该序列的增长间隔为20000(如果你要求id连续,那么可以计算一下,19999-10000=9999,那么这里可以设置为9999),那么下一个获取nextval的时候,会直接增加20000
    --然后
    select seq.nectval from dual;--获得的值为30000--此时id已经大于表中的最大id数了
    --然后再将增长间隔改回来
    alter sequence seq increment by 1;
    
  • 相关阅读:
    弱网测试—Network-Emulator-Toolkit工具
    chmod修改权限
    mysql:on duplicate key update与replace into
    mysql:批量更新
    linux:磁碟与档案系统管理
    linux:指令与档案的搜索
    linux:问题
    linux:档案与目录管理
    linux:档案权限
    linux:习惯
  • 原文地址:https://www.cnblogs.com/xiaojintao/p/5301809.html
Copyright © 2011-2022 走看看