MySQL中的auto_increment的问题
程序员文章站
2024-01-31 18:27:46
...
MySQL中的auto_increment的问题,InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都会
发现一个看似很简单的MySQL问题,却引起了大家的广泛关注:
这是一道很早的面试题:
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 。
答案:
如果表的类型是MyISAM,,那么是18。
因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。
如果表的类型是InnoDB,那么是15。
InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都会导致最大ID丢失。
自己也做了个实验,结果证实了上面的说法。真是惭愧啊,看似简单的问题自己也打错了。
2,另外还有一个就是获取当前数据库表的自增字段数。
下一篇: mysql grant
推荐阅读
-
mysql 海量数据的存储和访问解决方案_MySQL
-
MySQL中的auto_increment的问题
-
javascript-随着时间后台数值添加的问题
-
如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查 fiddlejavahttp抓包
-
SAP Leonardo图片处理相关的机器学习服务在SAP智能服务场景中的应用 人工智能机器学习SAP Cloud PlatformSAP成都研究院SAP云平台
-
php __clone需要注意的问题_PHP教程
-
fiddler抓取的https请求 数据乱码问题解决方案
-
有一个表里面有某个字段出现重复记录,怎样保留重复记录中的第一_MySQL
-
找一个支持中文的mysql管理工具?解决办法
-
关于Oracle full outer join 的bug问题分析及处理