【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】 3.2.x
【问题描述】执行语句报错,ALTER TABLE bank_flow_extract MODIFY COLUMN trade_amount DECIMAL(18, 2) NULL; 报错信息: [Not supported feature or function]
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
短时间内没办法升级版本,有什么办法解决吗?
加新列,改列名。double 变decimal 可能会丢失数值精度。
(root@10.0.0.65:2881) [test]> create table t1(id bigint not null auto_increment primary key,c1 double);
Query OK, 0 rows affected (0.557 sec)
(root@10.0.0.65:2881) [test]> insert into t1 (c1) values(1.1),(2.2),(3.3);
Query OK, 3 rows affected (0.019 sec)
Records: 3 Duplicates: 0 Warnings: 0
Records: 3 Duplicates: 0 Warnings: 0 [0/53]
(root@10.0.0.65:2881) [test]> alter table t1 modify c1 decimal;
ERROR 1235 (0A000): Alter non string type not supported
(root@10.0.0.65:2881) [test]> alter table t1 add c2 decimal;
Query OK, 0 rows affected (0.045 sec)
(root@10.0.0.65:2881) [test]> update t1 set c2=c1;
Query OK, 3 rows affected (0.017 sec)
Rows matched: 3 Changed: 3 Warnings: 0
(root@10.0.0.65:2881) [test]> alter table t1 change column c1 c3 double, change column c2 c1 decimal;
Query OK, 0 rows affected (0.030 sec)
(root@10.0.0.65:2881) [test]> alter table t1 drop column c3;
Query OK, 0 rows affected (0.054 sec)
(root@10.0.0.65:2881) [test]> show create table t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`c1` decimal(10,0) DEFAULT NULL,
PRIMARY KEY (`id`)
) AUTO_INCREMENT = 1000001 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
1 row in set (0.004 sec)
(root@10.0.0.65:2881) [test]> select * from t1;
+----+------+
| id | c1 |
+----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
+----+------+
3 rows in set (0.002 sec)
3 个赞
旭辉
#6
你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询
https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022
longda
#8
ob 3.x 不支持这种ddl
4.x 支持
不过, 你们是企业版的用户, 找企业版的support, 响应你们会更快
1 个赞
大爷
#9
应该是不知道哪里搞来的企业版
,如果有企业技术对接,一般都会使用4.x的企业版