热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

如何重置MySQL的自动增量列

如何重置MySQL的自动增量列MySQL数据库提供了一个奇妙的功能AUTOINCREMENT列指数。你的数据库表可以定义为数字自动递增的主键,MySQL将采取照顾其独特的价值,同时插入新行。www.2cto.com每次添加一个新行,...SyntaxHighlighter.all

如何重置MySQL的自动增量列
 
MySQL数据库提供了一个奇妙的功能AUTOINCREMENT列指数。你的数据库表可以定义为数字自动递增的主键,MySQL将采取照顾其独特的价值,同时插入新行。
   www.2cto.com  
每次添加一个新行,MySQL的增量值自动,它坚持以表。但有时你可能需要重置AUTOINCREMENT列值1。说你写一个示例应用程序,你已经有几行插入表中。现在要删除这些行,并自动增量列复位,使新行插入将有主键的值1 1。
 
有几个方法来实现这一点。
 
1。直接复位自动增量值
ALTER TABLE语法提供了一种方法来重新设置自动增量列。采取看看下面的例子。
 
ALTER TABLE table_name AUTO_INCREMENT = 1;
请注意,你不能重置计数器的值小于或等于任何已使用的。对于MyISAM,如果该值小于或等于目前在AUTO_INCREMENT列的最大值,该值是目前最大的加一复位。对于InnoDB,如果该值大于当前列中的最大值,没有出现错误和不改变当前序列值。
 
2。截断表
截断表自动增量值自动复位为0。
 
TRUNCATE TABLE table_name;
谨慎使用。用于截断时,任何的AUTO_INCREMENT计数器复位到零。从MySQL 5.0.13上,AUTO_INCREMENT计数器复位为零的TRUNCATE TABLE,而不管是否有一个外键约束。
 
一旦发射TRUNCATE是,表处理不记得过去使用的AUTO_INCREMENT值,但从头开始计数。这是真实的,甚至对于MyISAM和InnoDB,通常不重用序列值。
   www.2cto.com  
3。下降和重新创建表
这是另一种方式下重启自动增量指数。虽然不是很理想。
 
DROP TABLE table_name;
CREATE TABLE table_name { ... };
所有这些技术的价值技术重置自动增量列数。使用任何适合你的要求。
 

推荐阅读
author-avatar
云匢天仙草
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有