首页 > 代码库 > 当插入数据失败时,防止mysql自增长字段的自增长的方法
当插入数据失败时,防止mysql自增长字段的自增长的方法
问题描述: 当mysql设置了自增长字段时(注意:一个表中只能设置一个自增长字段,可以不是主键,但必须是键 ),如果插入数据失败,那么自增长字段仍然会占用这个自增长值,再次成功插入数据时就会造成断层.
原因: 自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字典。
解决方法: 在php程序中可以加一段代码,当插入数据失败时,执行sql语句重新设置auto_increment的值:
$sql = alter table `tbname` auto_increment=n;
利用函数mysqli_query($sql);即可执行sql语句
当插入数据失败时,防止mysql自增长字段的自增长的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。