以下的文章教会你如何在MySQL&Oracle数据库中创建自动递增字段的实际操作方案,我们大家都知道Oracle(大型网站数据库平台)数据库初学者所必须知道的100个问题如以下所示,望你看完会有所收获。
Oracle(大型网站数据库平台) PL/SQL语言基础
Oracle(大型网站数据库平台)架构的基础知识(入门级)
简单的Oracle(大型网站数据库平台)存储过程的创建方法(菜
Oracle(大型网站数据库平台)中的各种数据类型详细的介绍
Oracle(大型网站数据库平台)触发器详细介绍
简单的Oracle(大型网站数据库平台)存储过程的创建方法
Oracle(大型网站数据库平台)的初学者入门心得
Oracle(大型网站数据库平台)的nvl函数的用法
Oracle(大型网站数据库平台)开发中序列的使用
如何在MySQL&Oracle(大型网站数据库平台)下创建自动递增字段
在MySQL(和PHP搭配之***组合)下创建自动递增字段:
create table article
先创建一个表。
(
id int Prima(最完善的虚拟主机管理系统)ry key auto_increment,
设置该字段为自动递增字段。
- title varchar(255)
- );
- insert into article values (null,'a');
向数据库中插入数据。
select * from article; 结果如下:
- Id
- Title
- 1
- a
- insert into article values (null,’b’);
- insert into article values (null,'c');
- insert into article (title) values ('d');
select * from article; 结果如下:
- Id
- Title
- 1
- a
- 2
- b
- 3
- c
- 4
- d
但是Oracle(大型网站数据库平台)没有这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。
假设关键字段为id,建一个序列,代码为:
- create sequence seq_test_ids
- minvalue 1
- maxvalue 99999999
- start with 1
- increment by 1
- 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 :new.id IS NULLor :new.id=0 THEN
- select seq_test_id.nextval
- into nextid
- from sys.dual;
- :new.id:=nextid;
- end if;
- end tri_test_id;
OK,上面的代码就可以实现自动递增的功能了。
以上的相关内容就是对在MySQL&Oracle创建自动递增字段的介绍,望你能有所收获。
【编辑推荐】