首页 > 数据库技术 > 详细

mysql-12序列使用

时间:2018-11-15 22:17:55      阅读:181      评论:0      收藏:0      [点我收藏+]

mysql序列是一组整数:1,2,3....,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段自动增加,就可以使用mysql序列来实现。

使用auto_increment来定义列

drop table if EXISTS test_autoincrement ;
create table `test_autoincrement`(
    `id` int UNSIGNED not null auto_increment,
    PRIMARY KEY (id),
    `name` varchar(20) not null,
    `date` date not null,
    `origin` varchar(30)
    );
insert into test_autoincrement (name,date,origin) values
    (‘housefly‘,‘2001-09-10‘,‘kitchen‘);
-- 使用last_insert_id() 可以查看当前操作的次数
select LAST_INSERT_ID();
select * from test_autoincrement;
insert into test_autoincrement values
    (null,"millipede",‘2001-09-10‘,‘driverway‘),
    (null,"grasshopper",‘2001-09-10‘,‘front yard‘);
-- 即便插入多行,也只显示插入第一行时产生的值
select LAST_INSERT_ID();
select * from test_autoincrement;

技术分享图片

重置序列

先删除列,再添加列

drop table if EXISTS test_autoincrement ;
create table `test_autoincrement`(
    `id` int UNSIGNED not null auto_increment,
    PRIMARY KEY (id),
    `name` varchar(20) not null,
    `date` date not null,
    `origin` varchar(30)
    );
insert into test_autoincrement (name,date,origin) values
    (‘housefly‘,‘2001-09-10‘,‘kitchen‘),
    ("millipede",‘2001-09-10‘,‘driverway‘),
    ("grasshopper",‘2001-09-10‘,‘front yard‘);
alter table test_autoincrement drop id;
select * from test_autoincrement;
alter table test_autoincrement add id int(3) UNSIGNED not null auto_increment FIRST,
    add primary key (id);
select * from test_autoincrement;

技术分享图片

设置序列的开始值

建表时设置序列值

create table `test_autoincrement` 
    (`id` int(3) UNSIGNED not null auto_increment,
    primary key (id),
    `name` varchar(20) not null )
    engine=innodb auto_increment=100 charset=utf8;
insert into test_autoincrement values
    (null,"tom"),
    (null,"jerry");
select * from test_autoincrement;

mysql-12序列使用

原文:https://www.cnblogs.com/csj2018/p/9966144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!