ALTER TABLE
语句修改表结构,设置自增字段的起始值和步长。,2. 使用SET @@auto_increment_offset=起始值;
和SET @@auto_increment_increment=步长;
命令临时调整序列值。,,示例代码:,,“sql,-- 修改表结构,设置自增字段的起始值为100,步长为5,ALTER TABLE your_table_name AUTO_INCREMENT = 100, AUTO_INCREMENT_INCREMENT = 5;,,-- 临时调整序列值,将起始值设置为200,步长设置为10,SET @@auto_increment_offset = 200;,SET @@auto_increment_increment = 10;,
“MySQL序列(Sequence)是一种数据库对象,用于生成一个唯一的整数序列,序列通常用于为主键列或唯一索引列提供自增值,在MySQL中,有两种类型的序列:普通序列和全局序列。
1、普通序列
普通序列是与特定数据库相关的,只能在创建它的数据库中使用,当用户连接到其他数据库时,无法访问该序列,普通序列的创建和使用如下:
创建普通序列:
CREATE SEQUENCE seq_name START WITH initial_value 序列的起始值 INCREMENT BY increment_value 序列的增量 MINVALUE min_value 序列的最小值 MAXVALUE max_value 序列的最大值 CACHE cache_value 缓存的序列值数量 CYCLE | NOCYCLE 是否循环 ;
使用普通序列:
SELECT nextval('seq_name'); 获取下一个序列值
2、全局序列
全局序列是在所有数据库中共享的,可以在任何数据库中使用,全局序列的创建和使用如下:
创建全局序列:
CREATE GLOBAL SEQUENCE seq_name START WITH initial_value 序列的起始值 INCREMENT BY increment_value 序列的增量 MINVALUE min_value 序列的最小值 MAXVALUE max_value 序列的最大值 CACHE cache_value 缓存的序列值数量 CYCLE | NOCYCLE 是否循环 ;
使用全局序列:
SELECT nextval('seq_name'); 获取下一个序列值
注意:在使用全局序列之前,需要先设置@@GLOBAL.sql_mode
以允许NO_AUTO_CREATE_USER
模式。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/640029.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复