---
title: 修改 json 类型可能会导致 Invalid argument 问题-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 修改 json 类型可能会导致 Invalid argument 问题相关的常见问题和使用技巧，帮助您快速解决 修改 json 类型可能会导致 Invalid argument 问题的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 修改 json 类型可能会导致 Invalid argument 问题

更新时间：2024-01-22 01:56

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 问题描述

在 OceanBase 数据库中，修改 JSON 类型后可能会导致 Invalid argument 问题。

示例如下。

1. 使用 MySQL 数据库。

   ```shell
   obclient [(none)]> use mysql;
   Database changed

   ```
 2. 创建复现表。

   ```shell
   obclient [mysql]> CREATE TABLE tny3 (id DECIMAL NOT NULL COMMENT '主键' trade_no VARCHAR(64) NOT NULL);
   Query OK, 0 rows affected (0.028 sec)

   ```
 3. 查询表内容。

   ```shell
   obclient [mysql]> SELECT * FROM tny3;
   Empty set (0.005 sec)

   ```
 4. 添加列 channel，设置列类型为 JSON，不能为空。

   ```shell
   obclient [mysql]> ALTER TABLE tny3 ADD COLUMN CHANNEL JSON NOT NULL;
   Query OK, 0 rows affected (0.031 sec)

   ```
 5. 查询表内容。

   ```shell
   obclient [mysql]> SELECT * FROM tny3;
   Empty set (0.003 sec)

   ```
 6. 修改列 channel 的类型为 JSON，列值可以为空。

   ```shell
   obclient [mysql]> ALTER TABLE tny3 MODIFY CHANNEL JSON NULL;
   Empty set (0.002 sec)

   ```

   输出报错信息如下。

   ```shell
   ERROR 1210 (HY000): Invalid argument

   ```
 7. 查询表内容。

   ```shell
   obclient [mysql]> SELECT * FROM tny3;

   ```

   输出报错信息如下。

   ```
 8. 删除表操作。

   ```shell
   obclient [mysql]> DROP TABLE tny3;

   ```

   输出报错信息如下。

   ```

## 适用版本

OceanBase 数据库 V3.2.3 BP4 之前版本。

## 问题原因

在问题版本中，JSON NULL 默认值的实现有误，导致修改 JSON 列定义为 NOT NULL 后，使用到 JSON NULL 默认值的场景报错。

## 解决方法

升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.3 BP4 (oceanbase-3.2.3.1-20220805104621) 及之后版本。

Previous

[为什么 OceanBase 数据库在进行多分区扫描时，会抛弃索引选择全表扫描](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000298690)

Next

[应用执行 insert 出现报错 00918](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002393334) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
