基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
执行 alter table modify column 修改列 size 时遇到的报错
更新时间:2024-01-22 01:56
本文介绍执行 alter table modify column 修改列 size 时遇到的报错以及处理方法。
问题描述
OceanBase 数据库中 MySQL 租户模式下 alter table column 报错不支持。
示例如下。
obclient > create table t66(a char(20) character set utf8mb4 collate utf8mb4_bin default null) collate utf8mb4_general_ci;
Query OK, 0 rows affected (0.10 sec)
obclient > alter table t66 modify column a char(30);
ERROR 1235 (0A000): Alter charset or collation type not supported
适用版本
OceanBase 数据库 V2.x 版本和 V3.x 版本。
问题原因
OceanBase 数据库 V2.x 版本和 V3.x 版本上不支持修改字符序。
解决方法
规避方式在修改列后面加建表时规定的字符序。
obclient > create table t66(a char(20) character set utf8mb4 collate utf8mb4_bin default null) collate utf8mb4_general_ci;
Query OK, 0 rows affected (0.10 sec)
obclient > alter table t66 modify column a char(30);
ERROR 1235 (0A000): Alter charset or collation type not supported
obclient > alter table t66 modify column a char(30) character set utf8mb4 collate utf8mb4_bin default null;
Query OK, 0 rows affected (0.03 sec)