返回顶部
首页 > 资讯 > 数据库 >关于mysql删除记录后id顺序不连续的解决方法
  • 720
分享到

关于mysql删除记录后id顺序不连续的解决方法

摘要

经常有一些完美主义者问我,怎么让数据库的自增字段在记录被删除时重置它们的顺序,这里不去讨论这么折腾是否真有必要,只说说解决方法,有这方面需求的朋友不妨看看。   方法1、删除自增字段,然后重建(缺点就是必须记住自增字段的其它属性,不然可能会


	关于mysql删除记录后id顺序不连续的解决方法
[数据库教程]

经常有一些完美主义者问我,怎么让数据库的自增字段在记录被删除时重置它们的顺序,这里不去讨论这么折腾是否真有必要,只说说解决方法,有这方面需求的朋友不妨看看。

 

方法1、删除自增字段,然后重建(缺点就是必须记住自增字段的其它属性,不然可能会导致一些未知问题)

ALTER TABLE `tablename` DROP COLUMN `id`;

ALTER TABLE `tablename` ADD `id` int(10) unsigned NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY (`id`), AUTO_INCREMENT = 0 ROW_FORMAT = COMPACT;

 

方法2、通过sql语句按顺序重置自增字段值,实现方法:

SET @i=0;

UPDATE `tablename` SET `id`=(@i:[email protected]+1);

ALTER TABLE `tablename` AUTO_INCREMENT=0

 

 

自测方法2完美!!

  ========================

Mysql的user表中本来15条数据,我把后5条给删除了,再插入新用户后id会从16开始计数, 导致重新插入值,字段id取值不连续.

 

 

 

解决方案:

ALTER TABLE USER AUTO_INCREMENT=10;  (此处10改为自己的断点即可)

 

再插入新数据id就连上了,eg:

 


————————————————
版权声明:本文为CSDN博主「wudinaniya」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wudinaniya/java/article/details/77606288

===============================

 

新建查询:

ALTER TABLE `表名` DROP `主键名`;
ALTER TABLE `表名` ADD `主键名` int NOT NULL FIRST;
ALTER TABLE `表名` MODIFY COLUMN `主键名` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(主键名);

回到数据库刷新一下啊,这样就ok啦!

  分类: 科技苍穹

关于mysql删除记录后id顺序不连续的解决方法

原文地址:Https://www.cnblogs.com/apolloren/p/13375063.html

您可能感兴趣的文档:

--结束END--

本文标题: 关于mysql删除记录后id顺序不连续的解决方法

本文链接: https://lsjlt.com/news/7478.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作