数据库自增实现

mysql  直接在字段后面加  AUTO_INCREMENT

oracle

主要是2点,首先是创建一个序列名sequence;
然后是,insert语句的时候:将自增的字段的位置,写成序列名.nextval。

下面讲解一下,从创建表开始,然后创建sequence,到insert语句怎样写,才能实现字段的自增一的整个过程。

1.首先创建表
 

CREATE TABLE "FLOWCAL"."T_USERINFO"
  ( "C_ID" NUMBER(*,0),
   "C_USER" VARCHAR2(20 BYTE),
   "C_PASSWORD" VARCHAR2(20 BYTE),
   "C_ROLE" VARCHAR2(20 BYTE),
   "C_COMMENT1" VARCHAR2(20 BYTE),
   "C_COMMENT2" VARCHAR2(20 BYTE)
  )
现在我想让C_ID自增一。


2.首先创建一个oracle的sequence,sql语句如下:
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列


下面是我的sequence,如下:
CREATE SEQUENCE "FLOWCAL"."SEQ_USERINFO" 
MINVALUE 0
MAXVALUE 9999999999999999999999999999
INCREMENT BY 1
START WITH 24
CACHE 20
ORDER
CYCLE ;
 
3.通过序列名.nextval实现插入时,字段的自增一
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(,列1值,列2值,....);
"序列名"可以替换为你需要的名字.

下面是我的insert语句:
insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,'111','11','11','11','11')

下面提供一张图片,供参考:

oracle数据库如何实现字段的自增一

原文地址:https://www.cnblogs.com/wzyxidian/p/5875459.html