MySQL Error number: 4093; Symbol: ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE; SQLSTATE: HY000

文档解释

Error number: 4093; Symbol: ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE; SQLSTATE: HY000

Message: Column can’t be added with ALGORITHM=INSTANT as after this max possible row size crosses max permissible row size. Try ALGORITHM=INPLACE/COPY.

错误说明

ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093是一个MySQL InnoDB表引擎的表满错误,表明当利用“innodb_instant_add_column”设置在MySQL 5.7.9之后的新版本的InnoDB表引擎中添加一个新列时,服务器无法处理得到了一个太大的表.

常见案例

ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093可能会在MySQL InnoDB表引擎中出现,通常是因为当利用“innodb_instant_add_column”设置在MySQL 5.7.9之后的新版本的InnoDB表引擎中添加一个新列时,表的实际大小超过了服务器所允许的最大表大小.

解决方法

ER_INNODB_INSTANT_ADD_NOT_SUPPORTED_MAX_SIZE错误代码4093可以采取以下措施来解决:

1. 修改max_column_in_table选项来限制表中的列数;

2. 删除表中的一些列;

3. 使用ALTER TABLE语句恢复表中一些列;

4. 将新列添加到其他表中;

5. 使用临时表和SELECT INTO语句来拆分表;

6. 调整innodb_instant_add_column参数,将其按需设置为OFF。

你可能感兴趣的