mysql中autoincrement修改方法介绍

1。直接复位自动增量值

ALTER TABLE语法提供了一种方法来重新设置自动增量列。采取看看下面的例子。

ALTER TABLE table_name AUTO_INCREMENT = 1;

请注意,你不能重置计数器的值小于或等于任何已使用的。对于MyISAM,如果该值小于或等于目前在AUTO_INCREMENT列的最大值,该值是目前最大的加一复位。对于InnoDB,如果该值大于当前列中的最大值,没有出现错误和不改变当前序列值。

mysql>
mysql> alter table t2 auto_increment=2;
Query OK, 6 rows affected (0.04 sec)
Records: 6  Duplicates: 0  Warnings: 0

修改mysql表中的自增字段,Mysql中自增字段(AUTO_INCREMENT)的一些常识,MySQL AUTO_INCREMENT

如果还没看懂接着看

查看db.table表的下一条记录auto_increment的值:
show
table status from db like 'table';

如:
mysql>
show table status from mailbox like 'mailbox';        
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-------------------+----------+----------------+---------+
|
Name    | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |
Max_data_length | Index_length | Data_free |Auto_increment|
Create_time         | Update_time         | Check_time          |
Collation         | Checksum | Create_options | Comment |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-------------------+----------+----------------+---------+
|
mailbox | MyISAM |      10 | Dynamic    | 1681 |            148 |      249688 |
281474976710655 |       104448 |         0 |         15355|
2012-03-13 11:19:10 | 2012-03-13 11:19:10 | 2012-03-13 11:19:10 |
latin1_swedish_ci |     NULL |                |         |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-------------------+----------+----------------+---------+
1
row in set (0.00 sec)

Auto_increment:15355
这个就是下一条记录会使用的自增ID;

修改db.table表下一条记录使用的自增ID值为20000:
alter
table db.table auto_increment=20000;

如:
mysql> alter table
mailbox.mailbox auto_increment=20000;         
Query OK, 1681 rows affected
(0.05 sec)

这时再进行show table
status from mailbox like 'mailbox';

auto_increment已经变成20000;

新插入的记录,自增字段就会从20000开始;

注意:

使用MySQL Query Browser中可以很方便的实现,使用命令行的话可以使用alter  table 表名 modify column来实现。
ALTER TABLE `c`.`a` MODIFY COLUMN `a` BIGINT(20)  NOT NULL AUTO_INCREMENT;
在执行这个命令时,可能会遇到这个错误:
ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '1' for key 'PRIMARY'
在网上找到的解决方法是将表中主键为0的记录删除,试了一下,果然可以。

时间: 2024-10-27 08:48:40

mysql中autoincrement修改方法介绍的相关文章

Python中字符串对齐方法介绍

  这篇文章主要介绍了Python中字符串对齐方法介绍,本文介绍Python字符串内置方法ljust.rjust.center的用法,需要的朋友可以参考下 目的 实现字符串的左对齐,右对齐,居中对齐. 方法 字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,也可以指定填充字符 代码如下: string.ljust(s, width[, fillchar]) string.rjust(s, width[, fillchar]) string.center(

Javascript中的call()方法介绍

 这篇文章主要介绍了Javascript中的call()方法介绍,本文讲解了Call() 语法.Call() 参数.Javascript中的call()方法.Call()方法的实例等内容,需要的朋友可以参考下     在Mozilla的官网中对于call()的介绍是: 代码如下: call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. Call() 语法 代码如下: fun.call(thisArg[, arg1[, arg2[, ...]]])   Cal

mysql字符集乱码问题解决方法介绍_Mysql

character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. character-set-table:数据库表字符集. 优先级依次增加.所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集. character-set-client:客户端的字符集.客户端默认字符集.

windows下忘记MySQL密码的修改方法_Mysql

一.windows下修改MySQL密码的方法如果在Windows下忘记了MySQL的密码,可以这样做:1.关闭正在运行的MySQL服务:net stop mysql或 在windows 任务管理器中结束 mysqld.exe 进程或在 管理工具里面的服务找到 mysql服务 ,将其停止: 复制代码 代码如下: C:\Users\Administrator>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止. 2.打开命令行,转到mysql的bin目录下: 复制代码

MySQL导入导出数据库方法介绍

操作方法 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server 4.1bin 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql    (输入后会让你输入进入MySQL的密码) (如果导出单张表的话在数据库名后面输入表名即可) 3.会看到文件news.sql

windows下忘记MySQL密码的修改方法

一.windows下修改MySQL密码的方法如果在Windows下忘记了MySQL的密码,可以这样做:1.关闭正在运行的MySQL服务:net stop mysql或 在windows 任务管理器中结束 mysqld.exe 进程或在 管理工具里面的服务找到 mysql服务 ,将其停止:C:/Users/Administrator>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止.2.打开命令行,转到mysql的bin目录下:C:/Users/Administra

JavaScript中的异常处理方法介绍

 这篇文章主要介绍了详解JavaScript中的异常处理方法,包括基本的try...catch语句和throw语句的使用,需要的朋友可以参考下     有三种类型的编程错误:(1)语法错误和(2)运行时错误(3)逻辑错误: 语法错误: 语法错误,也被称为解析错误,在编译时进行传统的编程语言,并出现在JavaScript解释时. 例如,下面一行将导致一个语法错误,因为它缺少一个右括号: ? 1 2 3 4 5 <script type="text/javascript"> &

MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)_Mysql

show databases;show tables from db_name; show columns from table_name from db_name;show index from talbe_name [from db_name]; show status;show variables; show [full] processlist;show table status [from db_name]; show grants for user; 除了status,process

mysql中VARCHAR长度详细介绍

  在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小. 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是65535个字节,但并不支持65535长度的varchar,655