mysql自增主键不一定是连续的,但一定是递增的,造成主键不连续有这几种场景:1.自增初始值和自增步长设置不为1;2.唯一键冲突;3.事务回滚;4批量插入(如insert...select);
mysql使用in查询时(比如使用mybatisplus的listByIds()方法,采用的就是in查询语句),返回的结果会默认根据主键id排序,如果想按照in()里的条件排序,可以使用FIELD()语句解决:
SELECT * FROM 表 where 字段 IN(值1,值2......)
ORDER BY FIELD(字段,值1,值2......)