raolong20070422
raolong20070422
采纳率0%
2016-04-21 03:15 阅读 1.6k

oracle设置自增为一,但实际上每次增加了20

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • dd215130268 蓝色蛋饼 2016-04-27 09:19

    20是由于序列的默认cache值
    每次oracle缓存20个数字,提升序列的获取效率,
    你这个问题应该是重启了oracle 每次重启序列会重新缓存20个,从21开始,再重启,41开始

    点赞 1 评论 复制链接分享
  • raolong20070422 raolong20070422 2016-04-21 03:17

    oracle代码是这样的;
    CREATE SEQUENCE update_users start with 10001 INCREMENT by 1;
    insert into USERS values(update_users.nextval,'test1','123456','男','1650143222@qq.com',1);
    insert into USERS values(update_users.nextval,'test2','123456','男','1453635644@qq.com',2);
    insert into USERS values(update_users.nextval,'test3','123456','女','5455432445@qq.com',1);

    点赞 评论 复制链接分享
  • xiaochaolovedan 程序猿的人生 2016-04-21 03:37

    楼主是不是在别的地方配置了oracle的自增啊,按道理代码萤爱没问题的。

    点赞 评论 复制链接分享
  • huangwenkangz huangwenkangz 2016-04-21 09:34

    select update_users.nextval from dual多试几次看是不是加1,实在不行重新新建一个sequence

    点赞 评论 复制链接分享

相关推荐