您的位置:首页 > 其它

自动增长字段

2016-02-08 20:38 309 查看
在设计数据库的时候,有事需要表的某个字段是自动增长的,最常使用自动增长字段的就是表的主键。不同的数据库设置自增长的方法是不同的。

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: