我们指定一个字段为自动增长,他默认从1开始自动增长,默认值为1,每次增长为1,步长为1
模糊查询 like
% 代表任意个数字符 任意字符长度
查看mysql正在使用变量
show variables like “auto_inc%”
mysql> show variables like "auto_inc%" ; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.00 sec)
布长
auto_increment_increment 1
起始偏移量
auto_increment_offset 1
# 设置布长
session 是每次登陆产生一个连接
只在本次连接生效 退出了mysql就恢复原状 其他连接都看不到
基于会话级别
set session auto_increment_increment=5;
设置全局的布长
set global auto_increment_increment=5;
# 设置起始偏移量
注意:如果auto_increment_offset
起始偏移量
的值大于auto_increment_increment 布长 的值,
则auto_increment_offset 布长的值会被忽略
起始偏移量一定要<=布长
set global auto_increment_offset=4;
mysql> set global auto_increment_increment=5; Query OK, 0 rows affected (0.00 sec) mysql> set global auto_increment_offset=3; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye
修改后要退出 重新登录mysql 再查看
mysql> show variables like "auto_inc%"; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 5 | | auto_increment_offset | 3 | +--------------------------+-------+ 2 rows in set (0.00 sec)
再创建一张 t21表
mysql> create table t21( -> id int primary key auto_increment, -> name char(16) -> ); Query OK, 0 rows affected (0.01 sec) mysql> desc t21; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | char(16) | YES | | NULL | | +-------+----------+------+-----+---------+----------------+ 2 rows in set (0.01 sec)
mysql> insert into t21(name) values('alex'),('mike'),('jack'),('peter'); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0
mysql> select * from t21; +----+-------+ | id | name | +----+-------+ | 3 | alex | | 8 | mike | | 13 | jack | | 18 | peter | +----+-------+ 4 rows in set (0.00 sec)