文档解释
Error number: MY-013080; Symbol: ER_IB_MSG_1255; SQLSTATE: HY000
Message: %s
错误说明: ER_IB_MSG_1255错误在MySQL中是提示分区表中的列数不正确的一种错误。此时,MySQL服务器尝试将列添加到一个已存在的分区表中,但是当前表中的列数并不能承载新的列,因此抛出了此错误。此错误的全称为 “Error Number : ER_IB_MSG_1255:Index column size too large;index treated as error”,其对应的错误代码为HY000。
常见案例
• 尝试添加超出索引表可承载列大小的列数组成的聚集索引;
• 当聚集索引中的列大于7个时,出现该错误;
• 尝试在索引表中添加超出索引表可承载列大小的列。
解决方法:如果出现ER_IB_MSG_1255错误,首先需要尝试缩减索引列或索引数量,以便满足聚集索引中列数量的上限。也可以通过修改my.cnf / my.ini配置文件中的max_columns或max_indexes参数,以扩大索引表的支持的最大列数量。当更改完参数后,重启MySQL服务器使改动生效。
如果修改上述配置文件中的参数不可行,用户可以尝试改变MySQL服务器支持的索引以允许更多的列,或将现有建表语句重新调整:
• 使用ALTER TABLE [table] DROP INDEX [index]改变现有索引表;
• 使用CREATE TABLE [table] (…fields…)创建一个新的表,其中有一个以上的列;
• 将表中的数据移动到被改变的表,使用INSERT INTO [newtable] SELECT * FROM [oldtable];
• 修改为一个索引列数在MySQL服务器支持范围内的索引;
• 将新的表替换旧的表,使用RENAME TABLE [oldtable] TO [newtable];
• 为表创建多个索引,而不是一个索引。
在执行这些操作之前,最好先备份数据库,以防出现意外情况。
香港美国云服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/266139.html<

