Mysql重置自增完美解决方法

Mysql重置自增完美解决方法

很早就知道msdn了,下载过软件,学习过经验。第一次发帖,编辑器看不懂,懒得管了,就是分享一下经验。
mysql的自增列,哪怕插入失败,也会自增,删除部分行以后,整体id特别难看。参考过很多人的经验。都是把原来表格清空,然后重新复制到新表里去。
这里介绍下完美解决办法。只有4行代码。顺便提供php源码。
测试的表明是cs,自增列是id

ALTER TABLE csMODIFY COLUMN id int(11) NOT NULL FIRST ,DROP PRIMARY KEY;【将表里的id列,取消自增,取消主键】
ALTER TABLE csADD COLUMN id2 int NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (id2);【新增id2列,自增,主键。名字可以随意,别重复。】
ALTER TABLE csDROP COLUMN id;【删除id列】
ALTER TABLE csCHANGE COLUMN id2 id int(11) NOT NULL AUTO_INCREMENT FIRST ;【把id2改为id1】

原理特别简单的。原来的id取消自增和主键,只用于表格的排序。新插入一个id2,自然会根据自增重新排列。删除id,id2改id即可。

附上php操作代码。直接 XXX.php?biao=表名 一键恢复。不确定是否有bug,麻烦大家指教。

<?php header("Content-type:text/html;charset=utf-8");//字符编码设置 require("db_config.php"); if($_GET['biao']==''){echo '缺少表名';exit;} $con =mysqli_connect($servername, $username, $password, $dbnam
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值