自动增长
自动增长:auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加,填充数据。
通常自动增长用于逻辑主键
自动增长的原理
1、在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长
2、当用户进行数据插入的时候,如果没有给定值,系统在原始值上再加上步长变成新的数据
3、自动增长的触发,给定属性的字段没有提供值
4、自动增长只适用于数值
使用自动增长
基本语法:在字段之后增加一个属性 auto_increment
mysql> create table auto_incre(
-> id int primary key auto_increment,
-> name varchar(10) not null comment '用户名',
-> password varchar(10) not null comment '密码'
-> )charset=utf8;
Query OK, 0 rows affected (1.87 sec)
插入数据:null触发自动增长,不能给定具体值
mysql> insert into auto_incre values(null,'jack','123456');
Query OK, 1 row affected (0.35 sec)
mysql> select * from auto_incre;
+----+------+----------+
| id | name | password |
+----+------+----------+
| 1 | jack | 123456 |
+----+------+----------+
1 row in set (0.00 sec)
修改自动增长
1、查看自增长,自增长一旦触发使用之后,会自动的在表选项中增加一个选项,因此一张表最多只能拥有一个自增长。
2、表选项可以通过修改表结构来实现。
alter table 表名 auto_increment =值
mysql> alter table auto_incre auto_increment=9;
Query OK, 1 row affected (1.82 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> show create table auto_incre;
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+------------+----------------------