码迷,mamicode.com
首页 > 数据库 > 详细

当插入数据失败时,防止mysql自增长字段的自增长的方法

时间:2016-10-06 08:51:05      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

问题描述: 当mysql设置了自增长字段时(注意:一个表中只能设置一个自增长字段,可以不是主键,但必须是键 ),如果插入数据失败,那么自增长字段仍然会占用这个自增长值,再次成功插入数据时就会造成断层.

原因: 自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字典。

解决方法: 在php程序中可以加一段代码,当插入数据失败时,执行sql语句重新设置auto_increment的值:

$sql = alter table `tbname` auto_increment=n;

利用函数mysqli_query($sql);即可执行sql语句

当插入数据失败时,防止mysql自增长字段的自增长的方法

标签:

原文地址:http://www.cnblogs.com/everest33Tong/p/5933394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!