首页 > 代码库 > 数据库自增实现
数据库自增实现
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> insertinto 表名 values(,列1值,列2值,....);
"序列名"可以替换为你需要的名字.
下面是我的insert语句:
insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,‘111‘,‘11‘,‘11‘,‘11‘,‘11‘)
下面提供一张图片,供参考:
数据库自增实现