Error number: MY-013995; Symbol: ER_IB_DICT_INVALID_COLUMN_POSITION; SQLSTATE: HY000
Message: Field number: %llu too large, Total fields in Record: %zu.
错误说明:
MY-013995: ER_IB_DICT_INVALID_COLUMN_POSITION 错误,指库表描述索引中定义的列在表中的位置与定义时不一致。
当在定义库表描述索引时使用了一组固定的列,但该组列在表中的位置与定义不一致时,就会发生此错误。此错误也可以在修改表时发生,例如通过新的列位置将表拆分或合并时。
解决方法:
一般情况下,只要手动修改库表描述索引中定义的列顺序就行了,使它们与实际表中的列顺序一致即可。此外,也可以使用ALTER TABLE 命令,丢弃不在用的字段或创建暂时表,然后使用INSERT语句将旧表中的数据插入暂时表,最后再重命名暂时表为旧表名即可。