---
title: OceanBase 数据库如何更新分区表的分区键值-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库如何更新分区表的分区键值相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库如何更新分区表的分区键值的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# OceanBase 数据库如何更新分区表的分区键值

更新时间：2026-05-21 09:16

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

本文介绍 OceanBase 数据库 MySQL 和 Oracle 模式下更新分区表的分区键值的方法。

## 适用版本

OceanBaes 数据库所有版本

## MySQL 模式

OceanBase 数据库的 MySQL 租户可以直接更新分区键值。

```unknow
obclient> UPDATE $column SET $value_clause WHERE $where_clause;

```

## Oracle 模式

OceanBase 数据库的 Oracle 租户中，如果直接更新分区键，可能会出现以下错误。

```unknow
obclient> UPDATE $column SET $value_clause WHERE $where_clause;
ORA-14402: updating partition key column would cause a partition change

```

这是由于 Oracle 模式中如果修改了分区键，则修改行的 `rownum` 会发生变化，某一行更新时，如果更新的是分区列，并且更新后的列值不属于原来的这个分区，导致出现该错误。

这种情况可以通过修改表的 `ROW MOVEMENT` 属性，开启了这个选项后，再更新分区键，更新分区表就会把这行从分区中删除，并加到更新后所属的分区。

```unknow
obclient> ALTER TABLE $table ENABLE ROW MOVEMENT;

```

上一篇

[分区表更新错误，错误代码 1235](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000157)

下一篇

[OceanBase 数据库中删除二级分区表失败报错 ERROR 4225 (HY000):Partition entry not exists 的原因以及处理方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001953379) ![有帮助](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) 咨询热线
