一般情况下,MySQL表的默认类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启(文中提到的)MySQL的话,这条记录的ID是15。
因为在InnoDB,MySQL5.7及以前的版本,保存在内存里(没有持久化,MySQL重启后不会记录之前的值,而是找当前最大的id值+1);但是在MySQL8.0版本后,保存在redo log中,有恢复能力。
如果我们使用表的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM表会把自增主键的最大ID记录到数据文件里面,重启MYSQL后,自增主键的最大ID也不会丢失。
如果在这17条记录里面删除的是中间的几个记录(比如删除的是10,11,12三条记录),重启MySQL数据库后,insert一条记录后,ID都是18。因为内存或者数据库文件存储都是自增主键最大ID