两种方法修改或者重置mysql中的自增字段的值:autoIncrement;
创新互联建站-专业网站定制、快速模板网站建设、高性价比宝坻网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宝坻网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宝坻地区。费用合理售后完善,十余年实体公司更值得信赖。
其中方法二可以修改成任意值。
设置自增列
MYSQL的自增列一定要是有索引的列,设置种子值要在表的后面设置
--mysql
-- 设置自增ID从N开始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
设置自增列的步长,可以分为全局级别和会话级别
如果是会话级别,那么当用户新建一个会话的时候,那么步长又回到了全局级别,所以mysql的步长跟sqlserver的步长有很大的不同
mysql不能设置为 表级别 的步长
私信666领取资料
1、清空表,恢复到初始值:
2、修改为任意值:
上述语句中,table_name为表名,15为要修改的值,这样下次插入的数据的自增列的值就是15。
若修改的值与现有数据冲突,会自动修改为当前最大值+1。
如图所示,修改自增列id为11,虽然显示修改成功,但是id=11已经是现有值,再插入时会自动把自增列的值变为当前最大值(14)加1,也就是15