Error number: MY-011081; Symbol: ER_DD_UPGRADE_VIEW_COLUMN_NAME_TOO_LONG; SQLSTATE: HY000
Message: Upgrade of view ‘%s.%s’ failed. Re-create the view with the explicit column name lesser than 64 characters.
错误说明
ER_DD_UPGRADE_VIEW_COLUMN_NAME_TOO_LONG错误消息是MySQL错误代码之一,出现此错误时数据库引擎会拒绝更改视图的定义,其错误编码为MY-011081,状态码为HY000,SQLSTATE码也为HY000。
此错误表明某个字段名超过MySQL指定的最大长度限制(64个字节),这意味着视图的某个字段超过其允许的最大宽度,MySQL此时报错。
常见案例
例如,当用户尝试更新一个含有带有超过64个字符的字段名称,MySQL就会抛出ER_DD_UPGRADE_VIEW_COLUMN_NAME_TOO_LONG:
mysql> ALTER VIEW v1 as select A_very_long_column_name_exceeding_64_characters from t1;
ERROR 1081 (HY000): Errorno: 1081 Err.no: MY-011081 Msg:’ER_DD_UPGARDE_VIEW_COLUMN_NAME_TOO_LONG’ SQLSTATE: HY000
解决方法
要解决ER_DD_UPGARDE_VIEW_COLUMN_NAME_TOO_LONG错误,用户需要缩短字段名到64个字符以下,将名字缩短后再操作数据库:
mysql> ALTER VIEW v1 as select short_column_name from t1;
Query OK, 0 rows affected (0.47 sec)