栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

INSERT IGNORE会增加自动递增计数器,即使未添加任何记录也是如此?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

INSERT IGNORE会增加自动递增计数器,即使未添加任何记录也是如此?

从INSERT的手册页中引用:

如果使用IGNORE关键字,则在执行INSERT语句时发生的错误将被视为警告。例如,如果没有IGNORE,则复制表中现有UNIQUE索引或PRIMARY
KEY值的行将导致重复键错误,并且该语句将中止。使用IGNORE,仍不会插入该行,但是不会发出错误。

INSERTIGNORE
语法只是为了抑制某些错误消息的方式,当你意识到这些错误可能发生和/或希望在以后的阶段来处理他们这是有帮助的。在幕后,您仍然有一个常规的插入内容,只是由于密钥被破坏而导致插入失败。MySQL需要实际的行值进行插入,并且AUTO_INCREMENT计数器将根据常规规则递增:

  1. 该列的值为NULL。
  2. 未设置该列的值。
  3. 该列的值大于计数器。

因此,除非您可以重新考虑逻辑(例如,在进行插入之前测试键值是否存在),否则 重置 计数器的唯一方法是ALTER
TABLE

ALTER TABLE t2 AUTO_INCREMENT = value;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号