重置Mysql数据库AUTO_INCREMENT自增长值

对于一个项目的测试上线,经常需要在数据库里进行改改删删,增加很多测试数据,到后期直接拿测试数据库上线的话清空数据库发现自增ID没有从1开始,对于强迫症来说无法忍受。其实使用简单的方法即可重置自增ID。

通常的设置自增字段的方法:
创建表格时添加:

create table table1(id int auto_increment primary key,...)

创建表格后添加:

alter table table1 add id int auto_increment primary key 自增字段

一定要设置为primary key.
许多时候希望table中数据的id不要从1开始,像qq, id从10000开始,代码如下:

alter table users AUTO_INCREMENT=10000;

而且该语句也适用于修改现有表的id上, 比如大批量删除数据后,想 id 从 654321 退回 123456 开始

alter table users AUTO_INCREMENT=123456;

但是经过实际测试, 单机的Mysql没有问题, Mysql Cluster下是无效的,可能在主键上的机制,还是有所不同,有时间研究一下
设置自增ID从N开始

CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, // ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;

(ID列从100开始自增)
如果想让自增ID从默认值开始只要

TRUNCATE TABLE table1

但是注意:这个命令会清空数据包记录!

平常,用类似这条命令更多些

alter table users AUTO_INCREMENT=123456;

海拔科技

自媒体人,喜欢网络,热爱研究。本站头条号:星河 熊掌号:海拔科技

相关推荐

CentOS7安装MySQL5.7.x全过程记录

此文章记录了如何在CentOS7安装MySQL5.7.X版本,本文安装方法采用的是yum安装,非编译安装。文章转自镜湖月色的博客,并根据自身项目需求稍作修改。 1. 下载 MySQL yum包  2.安装MySQL源 3.安装MySQL …

Mysql中insert批量插入数据记录的sql语句

使用一条insert批量插入多条数据记录。 使用方法为: INSERT INTO [表名]([列名],[列名]) VALUES ([列值],[列值])), ([列值],[列值])), ([列值],[列值])); 示例: INSERT INTO cmf_zichan_logs(goods_id,goods_l …

Mysql字符串替换REPLACE命令的使用

Msql里面的某个表的某个字段里面存储的是一个人的地址,有一天这个地址的里面的某个地名变了,那么他的地址也就要变: 比如,原来是: number addr 01 四川省成都市XXXXXX街道05号 02 四川省成都市XXXXXX街道07 …