错误描述:在使用mysql的order by排序时,无论正序还是倒序都出现了排序错乱问题。我当时用的docker里面的mysql8,本以为是docker里面的和本地下载的mysql8不一样,因为docker的原因,比本地的mysql占用内存小了近2/3,但是,后续发现,原因不在docker!
查询语句:
select id from table order by id desc
可以看到排序很魔性。
sql语句绝对没问题,相信大家的也没问题,接下来说一下原因:
解决方法:排序的数据类型不是int等数值类型,而是varchar类型。设置为数值类型即可。
错误原因:我的原因是用本地的Navicat导入txt数据文件时,导入的int类型全变为了varchar,并且varchar类型都为默认值255,主键也没有了,更别说主键的int自增。
txt文件导入后的表:
原表文件:
由此可见,每次导入txt文件后,都应该根据原表重新修改表属性,好在数据都直接导入,不需要再次添加。