mysql-12序列使用

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;

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

时间: 2024-10-17 03:05:27

mysql-12序列使用的相关文章

MySQL实现序列(Sequence)效果

MySQL实现序列效果 一般使用序列(Sequence)来处理主键字段,在MySQL中是没有序列的,但是MySQL有提供了自增长(increment)来实现类似的目的,但也只是自增,而不能设置步长.开始索引.是否循环等,最重要的是一张表只能由一个字段使用自增,但有的时候我们需要两个或两个以上的字段实现自增(单表多字段自增),MySQL本身是实现不了的,但我们可以用创建一个序列表,使用函数来获取序列的值. 1. 新建序列表 drop table if exists sequence;   crea

MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略

前言: 在oracle中一般使用序列(Sequence)来处理主键字段,在MySQL中是没有序列的,但是MySQL有提供了自增长(increment)来实现类似的目的,但也只是自增,而不能设置步长.开始索引.是否循环等.最重要的是一张表只能设置一个字段使用自增,但有的时候我们需要两个或两个以上的字段实现自增(单表多字段自增),MySQL本身是实现不了的,但我们可以用创建一个序列表,使用函数来获取序列的值 一 MySQL中序列的实现 (1)新建一个测试表: DROP TABLE IF EXISTS

3、怎么创建MySQL的序列?

创建MySQL的序列?mysql是没有序列的,我最近刚做完一个项目也是从oralce移植到mysql数据库上,oracle中 Hibernate配置都是这样<generator class="sequence">    <param name="sequence">SEQUENCE_CHILDREM_ARCHIVE_ID</param></generator>移植到mysql数据库中之后 <generator c

Mysql的序列

Mysql自带的序列:字段设置为int,属性里面选上"自动增长"即可: 在插入数据的时候可以不插入该字段的值,mysql会自动处理:

mysql#自定义序列

原文 mysql主键不用自增数字的时候,可以参考如下方式,我抄来的. -- 创建公共的序列表 DROP TABLE IF EXISTS t_common_sequence; CREATE TABLE t_common_sequence ( seq_name VARCHAR(100) NOT NULL COMMENT '序列名称', current_val INT NOT NULL COMMENT '当前值', increment_val INT NOT NULL DEFAULT '1' COMM

mysql 12章_MySQL数据库的高级管理

一. 用户管理 Root用户是MySQL数据库管理系统中的系统管理员,但在实际开发过程中通常需要根据不同的开发者分配不同的用户,这样有利于用户的管理和维护. 1. 用户的创建: 1) 方式1:使用MySQL提供的用户管理语句完成CREATE USER 语法: Create user <用户名@主机名> identified by <初始密码>; 说明: identified by用于指定用户的初始密码,系统会自动对密码进行加密处理,新创建的用户将被保存到mysql.user表中,密

Mysql ---12 事务

1.事务:  多条数据库操作语句DML DQL同时成功或同时失败 参考文章:https://blog.csdn.net/Jocker_D/article/details/87384673 原子性:成功都成功,失败都失败 一致性:多用户数据一致 持久性:事务提交或未提交前后数据 隔离性: 多用户互不影响 mysql 默认自动开启事务 set autocommit=0;关闭 set autocommit=1;开启 创建事务: set autocommit=0 --关闭事务自动提交 start tra

mysql 实现 序列

创建序列表: CREATE TABLE SEQUENCE ( NAME VARCHAR(50) NOT NULL, CURRENT_VALUE BIGINT NOT NULL, STEP INT NOT NULL DEFAULT 1, PRIMARY KEY (NAME) ) ENGINE=INNODB; 插入序列测试 insert into SEQUENCE values('SEQ_TEST',1,1); 添加获取序列当前值函数: DROP FUNCTION IF EXISTS currval

MySQL 序列 AUTO_INCREMENT

MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如何使用MySQL的序列. 使用AUTO_INCREMENT MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列. 实例 以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长. mysql> CREATE TABLE insect -> ( ->

MySQL 序列使用

MySQL 序列使用 MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如何使用MySQL的序列. 使用AUTO_INCREMENT MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列. 实例 以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长. mysql> CREATE TABLE insect