本文主要是介绍自动增长字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在设计数据库的时候,有事需要表的某个字段是自动增长的,最常使用自动增长字段的就是表的主键。不同的数据库设置自增长的方法是不同的。
SQLServer设置自增长
SQL Server中设定一个字段为自动增长字段只要在表定义中指定字段为IDENTITY即可,格式为IDENTITY(startvalue,step),其中startvalue参数值起始数字,step参数值为步长,即每次自动增长时增加的值。
比如下面SQL语句创建T_Person表,其中主键Fid为自动增长字段,并且设定100为起始数组,步长为3
create table t_person
(
fidint primary key identity(100,3),
fnamevarchar(20),
fageint
)
MYSQL设置自增长
MYSQL中设定一个字段为自动增长字段非常简单,只要在表定义中指定字段为auto_increment.
create table t_person
(
fidint primary key auto_increment,
fnamevarchar(20),
fageint
)
Oracle设置自增长
Oracle中不像MYSQL和SQL Server中那样指定一个列为自动增长列额方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段
在Oracle中SEQUENCE被称为序列,每次取得时候它会自动增加,一般用在需要按序列号排序的地方。
在使用SEQUENCE前需要首先定义一个SEQUENCE,语法如下:
create sequence dequence_name
increment by step
start with startvalue;
其中sequence_name为序列的名字,每个vulie都必须有唯一的名字:startvalue参数值为起始数组,step参数值为步长。
一旦定义了SEQUENCE,您就可以用CURRVAL来取得SEQUENCE的当前值,也可以通过NEXTVAL来增加SEQUENCE,然后返回新的SEQUENCE值。下面来创建一个SEQUENCE序列
create sequence seq_PersonId
increment by 1 start with 1
然后创建T_Person表
create table T_Person
(
Fidnumber(10) perimary key,
Fnamevarchar2(20),
Fagenumber(10)
)
向表中插入数据生成自增长
insert into t_person(fid,fname,fage)values(seq_PersonId.nextval,’msc’,18);
insert into t_person(fid,fname,fage)values(seq_PersonId.nextval,’xm’,18);
这篇关于自动增长字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!