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

1310

被折叠的 条评论
为什么被折叠?



