以下的文章教会你如何在MySQLOracle数据库中创建自动递增字段的实际操作方案,我们大家都知道Oracle(大型网站数据库平台)数据库初学者所必须知道的100个问题如以下所示,望你看完会有所收获。 Oracle(大型网站数据库平台) PL/SQL语言基础 Oracle(大型网站数
以下的文章教会你如何在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,
设置该字段为自动递增字段。
<ol class="dp-xml"> <li class="alt"><span><span>title varchar(255) </span></span></li> <li><span>); </span></li> <li class="alt"><span>insert into article values (null,'a'); </span></li> </ol>
向数据库中插入数据。
select * from article; 结果如下:
<ol class="dp-xml"> <li class="alt"><span><span>Id </span></span></li> <li><span>Title </span></li> <li class="alt"><span>1 </span></li> <li><span>a </span></li> <li class="alt"><span>insert into article values (null,’b’); </span></li> <li><span>insert into article values (null,'c'); </span></li> <li class="alt"><span>insert into article (title) values ('d'); </span></li> </ol>
select * from article; 结果如下:
<ol class="dp-xml"> <li class="alt"><span><span>Id </span></span></li> <li><span>Title </span></li> <li class="alt"><span>1 </span></li> <li><span>a </span></li> <li class="alt"><span>2 </span></li> <li><span>b </span></li> <li class="alt"><span>3 </span></li> <li><span>c </span></li> <li class="alt"><span>4 </span></li> <li><span>d </span></li> </ol>
但是Oracle(大型网站数据库平台)没有这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。
假设关键字段为id,建一个序列,代码为:
<ol class="dp-xml"> <li class="alt"><span><span>create sequence seq_test_ids </span></span></li> <li><span>minvalue 1 </span></li> <li class="alt"><span>maxvalue 99999999 </span></li> <li><span>start with 1 </span></li> <li class="alt"><span>increment by 1 </span></li> <li><span>nocache </span></li> <li class="alt"><span>order; </span></li> <li> <span class="comments"><!--[if !supportLineBreakNewLine]--></span><span> </span> </li> <li class="alt"> <span class="comments"><!--[endif]--></span><span> </span> </li> </ol>
建解发器代码为:
<ol class="dp-xml"> <li class="alt"><span><span>create or replace trigger tri_test_id </span></span></li> <li><span>before insert on test_table </span></li> <li class="alt"><span>for each row </span></li> <li><span>declare </span></li> <li class="alt"><span>nextid number; </span></li> <li><span>begin </span></li> <li class="alt"> <span>IF :new.id IS NULLor </span><span class="attribute">:new.id</span><span>=</span><span class="attribute-value">0</span><span> THEN </span> </li> <li><span>select seq_test_id.nextval </span></li> <li class="alt"><span>into nextid </span></li> <li><span>from sys.dual; </span></li> <li class="alt"> <span class="attribute">:new.id:</span><span>=</span><span class="attribute-value">nextid</span><span>; </span> </li> <li><span>end if; </span></li> <li class="alt"><span>end tri_test_id; </span></li> </ol>
OK,上面的代码就可以实现自动递增的功能了。
以上的相关内容就是对在MySQL&Oracle创建自动递增字段的介绍,望你能有所收获。