目标:实现向一张表中插入数据时,ID字段自动递增。
开始实验:
(1)、创建实验表
createtable test_ID_add
(
ID NUMBER(10),
USERNAME VARCHAR2(32),
TEL VARCHAR2(11),
CREATE_DATE datedefaultsysdate
);
(2)、创建序列
使用PL/SQL Developer创建序列
补充:
对于序列的创建,我们也可以通过命令实现,如下:
create sequence seq_test
increment by 1
start with 1
nomaxvalue
nominvalue
nocache
--参数说明
--seq_test,表示创建序列的名称
--increment by 1 表示每次增加1
--start with 1表示开始于1
--nomaxvalue表示没有最大值
--nominvalue表示没有最小值
--nocache表示序列号达到上限后不继续扩展
补充结束
(3)、创建触发器
--每次向test_id_add表新插入一条数据之前,先插入一个ID值
create orreplace trigger tr_IDADD
before inserton test_id_add
for eachrow
begin
select seq_idaddnextvalinto :newidfrom dual;
end;
(4)、测试
SQL>insert into test_id_add(Username,TEL)values('huangyanlong','12345678900');
--插入第一条数据
SQL>commit;
SQL>SELECT from test_id_add;
SQL>insertinto test_id_add(Username,TEL) values('lilei','13713777777');
--插入第二条数据
SQL>commit;
SQL>SELECT from test_id_add;
如图所示,ID字段在以每次加一后自动增长。
像你这种,先删除主键和自动增长 再 *** 作,完成之后重新主键就OK咯。
Alter table tb change id id int(10);
Alter table tb drop primary key
//这是添加主键
alter table tb add primary key(id);
在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成。
mysql数据库表主键自增长的sql语句1、不控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB default charset=gbk;
2、控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB auto_increment=1001 default charset=gbk;
以上就是关于sql怎么递增举个例子 id字段等于100+1 第二条100+2全部的内容,包括:sql怎么递增举个例子 id字段等于100+1 第二条100+2、在mysql数据库中,id为自增字段,现在数据为1~100的数据记录,我将id为50~70的记录删除,请继续看……、Mysql数据库自增长如何设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)