本篇文章将研究mybatis 实现oracle主键自增的机制
首先我们看对于同一张student表,对于mysql,sql server,oracle中它们都是怎样创建主键的
在mysql中
- create table Student(
- Student_ID int(6) NOT NULL PRIMARY KEY AUTO_INCREMENT,
- Student_Name varchar(10) NOT NULL,
- Student_Age int(2) NOT NULL
- );
-
- insert into student(student_name,student_age) values('zhangsan',20);
在sql server中
- create table Student(
- Student_ID int primary key identity(1,1),
- Student_Name varchar2(10) NOT NULL,
- Student_Age number(2) NOT NULL
- );
- insert into student(student_name,student_age) values('zhangsan',20);
在oracle中
- create table Student(
- Student_ID number(6) NOT NULL PRIMARY KEY,
- Student_Name varchar2(10) NOT NULL,
- Student_Age number(2) NOT NULL
- );
而oracle如果想设置主键自增长,则需要创建序列
- CREATE SEQUENCE student_sequence
- INCREMENT BY 1
- NOMAXVALUE
- NOCYCLE
- CACHE 10;
-
- insert into Student values(student_sequence.nextval,'aa',20);
如果使用了触发器的话,就更简单了