初学oracle,遇到一个奇怪的现象不解,求大神帮忙(如下,即使我设置序列从1开始,但是在表中插入数据就会变成2):
SQL>  create sequence sq
  2  start with 1;
Sequence created
SQL> create table e(int number,name varchar2(20));
Table created
SQL>  insert into e values(sq.nextval,'mm');
1 row inserted
SQL> select *from e;       INT NAME
---------- --------------------
         2 mm

解决方案 »

  1.   

    u1@EMREP> create sequence sq start with 1;Sequence created.u1@EMREP> create table e(int number,name varchar2(20));Table created.u1@EMREP> insert into e values(sq.nextval,'mm');1 row created.u1@EMREP> select *from e;       INT NAME
    ---------- --------------------
             1 mm本来就是从1开始的
      

  2.   

    按照你的代码敲过一遍,
    结果为:
    SQL> select * from test;        ID NAME
    ---------- --------------------------------
             1 aaaaa
    建议重新创建个序列再试一次。
      

  3.   

    在sequence的值已经被顺序取了一次