---
title: 合并报错 column checksum is not equal-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 合并报错 column checksum is not equal相关的常见问题和使用技巧，帮助您快速解决 合并报错 column checksum is not equal的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 合并报错 column checksum is not equal

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

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

在 OceanBase 数据库 V2.x 版本，将 int 类型修改为 bigint 类型之后，需要在数据合并后，才能对被修改字段类型创建索引，否则将导致合并报错 `column checksum is not equal`。本文探讨如何修复该问题。

## 适用版本

OceanBase 数据库 V2.x 版本。

## 问题现象

数据合并遇到报错 `column checksum is not equal`。

相应的 DDL 样例语句如下。

```shell
obclient> create table t1 (c1 int primary key,  c2 int);

```

```shell
obclient> alter table t1 modify column c2 bigint;

```

```shell
obclient> alter table t1 add index idx_c2(c2);

```

## 问题原因

OceanBase 数据库 V2.x 版本的机制问题，源表修改字段类型后，其数据仍然为 int，但新建的索引却是 bigint，导致在内存计算中 checksum 不一致。

## 解决方法

在实际生产环境中，应当将上述操作中的创建索引挪到数据合并后。如果已经出现合并失败的问题，则可通过下述手段解决。

```shell
obclient> alter table t1 drop index idx_c2;
obclient> alter system clear merge error;
--等待这次合并正常结束
obclient> alter table t1 set progressive_merge_num=1;
--再次开启合并
obclient> alter table t1 set progressive_merge_num=0;
--正常创建这个 bigint 列的索引

```

Previous

[OceanBase V4.x 版本合并慢的原因与应对方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003633625)

Next

[合并报错，日志有 obj1 and obj2 can't compare 的错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000366659) ![有帮助](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) 咨询热线
