SQL Server,Sybase
使用identity属性
create table a (
a1 int IDENTITY(1,1) NOT NULL,
a2 varchar(50)
)
insert时:
INSERT INTO a values( 'hello! '); --a1的值系统会自动赋值
MySQL:
使用auto_increment属性
create table b (
b1 int(4) primary key not null auto_increment,
b2 varchar(50)
)
insert时:
INSERT INTO B values( 'hello! '); --b1的值系统也会自动赋值
Oracle:
使用SEQUENCE(序列)
create table c
(
c1 int ,
c2 varchar2(6)
);
创建序列:
create SEQUENCE seq_c INCREMENT BY 1;
insert 时:
INSERT INTO c values(seq_c.nextval, 'hello! '); --seq_c.nextval是该序列的下一个值
使用 SELECT seq_c.CURRVAL FROM DUAL 可以查看当前序列号。在平常插入数据之后想知道插入数据的序号,就可以用这个方法,不过这个方法返回的数据是BigDecimal类型,主要通过转换来达到所需要的数据类型。
转到相应类型的方法:
BigDecimal bd= new BigDecimal(100);
int ---->bd.intValue()
float--->bd.floatValue()
double--->bd.doubleValue()
String---db.toString()