1,orcale数据库主键自增
-- 创建表
create table PERSON(
id number(10) primary key, /*主键,自动增加*/
name varchar2(20), /*姓名*/
phone varchar2(20), /*电话*/
sex varchar2(10), /*性别*/
age number(10) /*年龄*/
);
--.创建自增长序列
create sequence PERSON_SEQ
--minvalue 1 -- 最小值
-- maxvalue 2000 -- 最大值
nomaxvalue -- 不设置最大值
start with 1 -- 从1开始计数
increment by 1 -- 每次增加1
nocycle -- 一直累加,不循环
cache 20;
--在创建自增长序列时,可以设置计数起始位置。例如表中存在100条原始数据,那么我们可以设置 start with 101 ,这样自增长就会从101开始
--删除主键自增:DROP sequence PERSON_SEQ
-- 创建触发器
create or replace trigger PERSON
before insert on PERSON
for each row
begin
select PERSON_SEQ.nextval into :new.id from dual;
end PERSON_TR;
--提交:commit;
insert into person(name,phone,sex,age) values('张三','18888888888','男',25);
insert into person(name,phone,sex,age) values('李四','18888888889','男',29);
数据表中添加主键自增,通过sqlplus导入数据时,不会出现如下错误
2,mysql主键自增
create table if not exists `user`(
`id` int unsigned auto_increment, --unsigned:既为非负数,用此类型可以增加数据长度!
--auto_increment:主键自增设置
`name` varchar(100) not null,
`sex` varchar(40) not null,
`age` int(11),
primary key ( `id` )
)engine=innodb default charset=utf8;
亦可以在使用navicat给数据库表,设计表中,添加主键和自增,操作比orcale数据库操作方便。