1、问题:
今天在做开发时碰到了一个问题,使用了最简单的sql语句查询,条件中也只有一个条件,语句类似如下:
SELECT * FROM `people` WHERE school_id = '1234';
查询出的结果为3条,本以为应该按照数据库的插入顺序查出来,即按照主键ID的升序排列,但是得出的结果却不是,确实按照了其中一个字段(例:age)的值升序排列,
这就很奇怪了
2、原因:
经过多次验证,发现了个问题,就是school_id字段和age字段其实已经被用来作为唯一索引,
idx_school_id_age: 'school_id','age'
在把索引删除后,查询出的结果就按照了默认的主键ID升序排列,加上这个索引,就按照了age字段升序排列,最后没办法,只能把sql改为:
SELECT * FROM `people` WHERE school_id = '1234' ORDER BY id asc;
标签:school,age,默认,索引,字段,MySQL,升序,排序,id From: https://www.cnblogs.com/Silentness/p/17664835.html