因为 MySQL 中的自增字段与 Oracle 数据库是不一样的, 所以在这里记录一下 MySQL 的自增字段.
1. 添加自增字段
1.1 在创建表时添加
- create table emp(
- empno int(5) auto_increment primary key
- );
1.2 在创建表后添加
- create table emp(
- ename varchar(20)
- );
- alter table emp add empno int(5) auto_increment primary key;
注意: 在 MySQL 中自增字段必须为主键, 否则会出现一下错误提示
- create table emp(
- empno int(5) auto_increment
- );
0 | 33 | 15:20:54 | create table emp( empno int(5) auto_increment ) | Error Code: 1075. Incorrect table definition; there can be only one auto column and it must be defined as a key | 0.000 sec |
2. 设置自增的起始值
在 MySQL 中自增字段的起始自增值为 1, 但有时候我们并不是要求从 1 开始自增, 这时需要我们的手动设置.
2.1 在创建表时设置
- create table emp(
- empno int(5) auto_increment primary key
- )auto_increment=100;
2.1 在创建表后修改自增起始值
alter table emp auto_increment=100;
注意: 在创建表后再设置自增值的情况下, 如果在设置之前就已经插入了数据的话, 然后再插入数据, 在数据库中的数据是不会改变的, 但是这样操作会造成数据插不进去的情况, 因为插入的自增主键有可能与之前的值相同.
来源: http://www.linuxidc.com/Linux/2019-08/160195.htm