发布网友 发布时间:2022-04-27 06:16
共2个回答
热心网友 时间:2022-04-08 11:06
information_schema.columns表中有一个ordinal_position字段,表示的是列标识号,其实就是字段编号,你可以看看这些字段标号是不是按照你现在有字段顺序摆列的,如果是,那么用ordinal_position排序就可以了。热心网友 时间:2022-04-08 12:24
我也刚遇到这个问题。重建索引的时候重启了(时间太长,以为故障了),然后列名顺序就神经病的和创建的时候不一样了。后来就重装了mysql,重建了数据表,发现还是一个样子。后来发现乱了的列表名是按ascii的顺序排列的,才想起来这次建数据库的时候选了个数据库排序规则,上一次选没选就没印象了。以前是从information_schmema里查询的(估计就是排序规则影响了这个顺序,所以输出的列表不对)。后来发现在命令行界面用DSC table_name的时候显示的列名顺序是正确的,然后就自建了个函数,把这个命令的执行结果取出来加工了下,生成了一个列名list。注:返回的列名是在Field里,不区分大小写的忽略。