①.、创建表时指定AUTO_INCREMENT自增值的初始值(即起始值):
ALTER TABLE XXX AUTO_INCREMENT=100;
即使在你将整个表中的所有数据delete清空后,之前的自增序列最大值还是会被重用.
解决办法是:
使用 ALTER TABLE XXX AUTO_INCREMENT=0; 重新设置自增初始值.
清空MySQL表,使ID重新从1自增的步骤如下:
我们需要准备的材料分别是:电脑、Mysql查询器.
①.、首先,打开Mysql查询器,连接上相应的mysql连接.
支持设置自增列的值
ALTER
TABLE
table_name
AUTO_INCREMENT
=
不过这种方式只能设置大于当前使用的值,不能设置小于等于当前已经使用的自增列的值.myisam如果设置小于等于,则自增列的值会自动设置为当前最大值加1.innodb则不会改变.
TRUNCATE
table_name;
注意:TRUNCATE
会清空表中数据
DROP
CREATE
{
...
};
设置自增列
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 |
①. 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
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Update_time: NULL
Check_time: NULL
Checksum: NULL
Create_options:
Comment:
设置自增列的步长,可以分为全局级别和会话级别
如果是会话级别,那么当用户新建一个会话的时候,那么步长又回到了全局级别,所以mysql的步长跟sqlserver的步长有很大的不同
mysql不能设置为 表级别 的步长
前提,需保证设置了自增:
alter table table1 add id int auto_increment primary key
方式1,修改现有自增ID:
alter table users AUTO_INCREMENT=10000;
TRUNCATE TABLE table1
重置 MySQL 自增列 AUTO_INCREMENT 初时值 (注意,使用以下任意方法都会将现有数据删除.)
方法一:
delete from tb1;
方法二:
truncate tb1; (好处, 简单, AUTO_INCREMENT 值重新开始计数.)
怎么重置mysql的自增列:
① 支持设置自增列的值
ALTER TABLE table_name AUTO_INCREMENT = 1;
不过这种方式自能设置大于当前使用的值,不能设置小于等于当前已经使用的自增列的值.myisam如果设置小于等于,则自增列的值会自动设置为
当前最大值加1.innodb则不会改变.
TRUNCATE TABLE table_name;
DROP TABLE table_name;
CREATE TABLE table_name { ... };
以上就是土嘎嘎小编为大家整理的mysql怎么重新自增长相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!