如何在MySQL&Oracle下创建自动递增字段
在MySQL下创建自动递增字段
create table article //先创建一个表
(
id int primary key auto_increment //设置该字段为自动递增字段
title varchar()
);
insert into article values (nulla); //向数据库中插入数据
select * from article; 结果如下
Id
Title
a
insert into article values (nullb);
insert into article values (nullc);
insert into article (title) values (d);
select * from article; 结果如下
Id
Title
a
b
c
d
但是oracle没有这样的功能但是通过触发器(trigger)和序列(sequence)可以实现
假设关键字段为id建一个序列代码为
create sequence seq_test_ids
minvalue
maxvalue
start with
increment by
nocache
order;
<![if !supportLineBreakNewLine]>
<![endif]>
建解发器代码为
create or replace trigger tri_test_id
before insert on test_table
for each row
declare
nextid number;
begin
IF :newid IS NULLor :newid= THEN
select seq_test_idnextval
into nextid
from sysdual;
:newid:=nextid;
end if;
end tri_test_id;
OK上面的代码就可以实现自动递增的功能了