---
title: "修改表组的 SHARDING 属性 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: 修改表组的 SHARDING 属性 创建表组后，根据业务调整，可以修改表组的 SHARDING 属性。 使用限制 OceanBase 数据库升级过程中，禁止使用 ALTER TABLEGROUP 语句修改表组的 SHARDING 属性。 修改规则 修改表组的 SHARDING 属性时，需要先查看表组内是否存在表，以及…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# 修改表组的 SHARDING 属性

更新时间：2026-04-30 18:56:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/300.database-object-management/100.manage-object-of-mysql-mode/400.manage-table-groups-of-mysql-mode/500.modify-the-sharding-attribute-ot-a-table-group-of-mysql-mode.md)  

创建表组后，根据业务调整，可以修改表组的 `SHARDING` 属性。

## 使用限制

OceanBase 数据库升级过程中，禁止使用 `ALTER TABLEGROUP` 语句修改表组的 `SHARDING` 属性。

## 修改规则

修改表组的 `SHARDING` 属性时，需要先查看表组内是否存在表，以及表组内表的分区信息，查看表组内的表的具体操作请参见 [查看表组信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683198)。

根据查询结果，如果表组内没有表，则可以任意修改表组的 `SHARDING` 属性。如果表组内已有表，则需要遵循以下修改规则：

- 将表组的 `SHARDING` 属性修改为 `NONE` 时，不需要考虑表组内表的分区定义，可以直接修改。
 - 将表组的 `SHARDING` 属性修改为 `PARTITION` 时：

     - 如果表组内的所有表都是非分区表，则可以直接修改。
     - 如果表组内同时有非分区表和分区表，则无法修改。
     - 如果表组内仅有一级分区表或二级分区表，则要求表组内所有表的一级分区对应的分区类型、分区个数及分区值均相同，否则无法修改。
 - 将表组的 `SHARDING` 属性修改为 `ADAPTIVE` 时：

     - 如果表组内的所有表都是非分区表，则可以直接修改。
     - 如果表组内同时有非分区表和分区表，则无法修改。
     - 如果表组内同时有一级分区表和二级分区表，则无法修改。
     - 如果表组内全部是一级分区表，则要求所有一级分区表对应分区类型、分区个数、分区值均相同。
     - 如果表组内全是二级分区表，则要求所有一级分区表和二级分区表对应分区类型、分区个数、分区值均相同。

## 修改表组属性

修改表组 `SHARDING` 属性的 SQL 语句如下：

```sql
ALTER TABLEGROUP tablegroup_name tablegroup_option;

tablegroup_option:
SHARDING = 'NONE'
SHARDING = 'PARTITION'
SHARDING = 'ADAPTIVE'

```

语句使用说明：

- 执行该语句需要确保当前用户拥有全局 `ALTER` 权限。
 - `tablegroup_name`：待修改的表组名。
 - `SHARDING`：表组属性。修改表组属性时，需要遵循修改规则。

修改表组属性的示例如下：

1. 创建一个 `SHARDING` 属性为 `PARTITION` 的表组 `tblgroup1`。

   ```sql
   CREATE TABLEGROUP tblgroup1 SHARDING = 'PARTITION';

   ```
 2. 创建两个分区定义相同的一级分区表 `tbl1` 和 `tbl2`，并加入到表组 `tblgroup1`。

   ```sql
   CREATE TABLE tbl1 (col1 BIGINT PRIMARY KEY,col2 VARCHAR(50)) TABLEGROUP = tblgroup1
   PARTITION BY LIST(col1)
   (PARTITION p0 VALUES IN (1, 2, 3),
   PARTITION p1 VALUES IN (5, 6),
   PARTITION p2 VALUES IN (DEFAULT)
   );

   ```

   ```sql
   CREATE TABLE tbl2 (col1 BIGINT PRIMARY KEY,col2 VARCHAR(50)) TABLEGROUP = tblgroup1
   PARTITION BY LIST(col1)
   (PARTITION p0 VALUES IN (1, 2, 3),
   PARTITION p1 VALUES IN (5, 6),
   PARTITION p2 VALUES IN (DEFAULT)
   );

   ```
 3. 将表组 `tblgroup1` 的 `SHARDING` 属性修改为 `ADAPTIVE`。

   ```sql
   ALTER TABLEGROUP tblgroup1 SHARDING = "ADAPTIVE";

   ```
 4. 查看表组属性。

   ```sql
   SHOW TABLEGROUPS WHERE tablegroup_name = 'tblgroup1';

   ```

   结果如下：

   ```shell
   +-----------------+------------+---------------+----------+
   | Tablegroup_name | Table_name | Database_name | Sharding |
   +-----------------+------------+---------------+----------+
   | tblgroup1       | tbl1       | test          | ADAPTIVE |
   | tblgroup1       | tbl2       | test          | ADAPTIVE |
   +-----------------+------------+---------------+----------+
   2 rows in set

   ```

   表组内的表 `tbl1` 和 `tbl2` 全部是一级分区表，且分区类型、分区个数、分区值均相同，符合修改规则，`SHARDING` 属性修改成功。

## 相关文档

- [关于表组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683196)
 - [创建表组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683194)
 - [查看表组信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683198)
 - [将表添加到表组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683193)
 - [管理表组内的表](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683197)
 - [删除表组](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683195)

 上一篇 下一篇 ![有帮助](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) 咨询热线
