ezeke 发表于 2017-12-12 06:10:52

吾日三洗吾身,洗头、洗脸、洗身体

#在创建完表后,修改自增字段的起始值  
mysql> create table student(

  
->>  
-> name varchar(20),
  
-> sex enum('male','female') default 'male'
  
-> );
  


  
mysql>>  

  
mysql> show create table student;
  
.......
  
ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
  

  
mysql> insert into student(name) values('egon');
  
Query OK, 1 row affected (0.01 sec)
  

  
mysql> select * from student;
  
+----+------+------+

  
|>  
+----+------+------+
  
|3 | egon | male |
  
+----+------+------+
  
row in set (0.00 sec)
  

  
mysql> show create table student;
  
.......
  
ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
  

  

  
#也可以创建表时指定auto_increment的初始值,注意初始值的设置为表选项,应该放到括号外
  
create table student(
  
id int primary key auto_increment,
  
name varchar(20),
  
sex enum('male','female') default 'male'
  
)auto_increment=3;
  

  

  

  

  
#设置步长
  
sqlserver:自增步长
  
基于表级别
  
create table t1(
  
id int。。。
  
)engine=innodb,auto_increment=2 步长=2 default charset=utf8
  

  
mysql自增的步长:
  
show session variables like 'auto_inc%';
  

  
#基于会话级别
  
set session auth_increment_increment=2 #修改会话级别的步长
  

  
#基于全局级别的
  
set global auth_increment_increment=2 #修改全局级别的步长(所有会话都生效)
  

  

  
#!!!注意了注意了注意了!!!
  
If the value of auto_increment_offset is greater than that of auto_increment_increment, the value of auto_increment_offset is ignored.
  
翻译:如果auto_increment_offset的值大于auto_increment_increment的值,则auto_increment_offset的值会被忽略
  
比如:设置auto_increment_offset=3,auto_increment_increment=2
  

  

  

  

  
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> show variables like 'auto_incre%'; #需要退出重新登录
  
+--------------------------+-------+
  
| Variable_name            | Value |
  
+--------------------------+-------+
  
| auto_increment_increment | 1   |
  
| auto_increment_offset    | 1   |
  
+--------------------------+-------+
  

  

  

  
create table student(
  
id int primary key auto_increment,
  
name varchar(20),
  
sex enum('male','female') default 'male'
  
);
  

  
mysql> insert into student(name) values('egon1'),('egon2'),('egon3');
  
mysql> select * from student;
  
+----+-------+------+

  
|>  
+----+-------+------+
  
|3 | egon1 | male |
  
|8 | egon2 | male |
  
| 13 | egon3 | male |
  
+----+-------+------+
页: [1]
查看完整版本: 吾日三洗吾身,洗头、洗脸、洗身体