mysql中表字段名的最大允许长度64个字节,如果都是英文字母或数字,那么字段名最长可以是64个字符,如果使用中文那么每个中文字将占用两个字节。
例如下面两个字串(刚好64个字节)作为列名不会出错
`a111111111122222222223333333333444444444455555555556666666666123`,
`a11111111112222222222333333333344444444445555555555666666666612中`
而下面两个字串作为列名就会报错,因为长度刚好超出64个字节
`a1111111111222222222233333333334444444444555555555566666666661234`,
`a111111111122222222223333333333444444444455555555556666666666123中`
有关MySQL标识符最大长度请参阅下表
information_schema.columns表中有一个ordinal_position字段,表示的是列标识号,其实就是字段编号,你可以看看这些字段标号是不是按照你现在有字段顺序摆列的,如果是,那么用ordinal_position排序就可以了。如果不是,而是按照你查询information_schema.columns表的顺序编的号,那么可能在建表后有过插入字段(比原来表中没有第四题字段一类的),或者修改字段名称(这个也可能修改字段编号),那么就将数据备份重建该表,这样应该就没有问题了,不过可能也需要按照ordinal_position排序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)