---
title: 全文索引创建失败 duplicated row 问题分析与解决-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于全文索引创建失败 duplicated row 问题分析与解决相关的常见问题和使用技巧，帮助您快速解决全文索引创建失败 duplicated row 问题分析与解决的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# 全文索引创建失败 duplicated row 问题分析与解决

更新时间：2026-05-22 08:56

适用版本： V4.3.x 内容类型：Troubleshoot  

## 问题现象

简易验证，如下。

```shell
CREATE TABLE t2 ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, FULLTEXT (title, content) with parser beng ) DEFAULT charset utf8mb4 collate utf8mb4_unicode_ci;
INSERT INTO t2 (title, content) VALUES ('MySQL全文搜索简介', UNHEX('617474616368656400206174746163686564c2a0'));

```

如上问题报错 4016 或者创建全文索引时报 duplicated rows。

在创建全文索引的过程中，由于特定字符集下的空格判定逻辑不一致，导致分词后的数据在插入 SSTable 时被判定为主键重复，进而引发创建失败。具体表现为在使用 beng 分词器且字符集为 `utf8mb4_unicode_ci` 时，尝试插入包含特殊空格（如 `C2A0`）的文本字段 `detail` 时出现错误。

对于后建流程（先插入部分数据后，再创建全文索引），由于 DDL 过程中会有补数据，报错会在 DDL 过程中报出，这个场景里用户看到的是 duplicated primary key。 对于 DML 插入流程，会出现 4016 错误。

## 关键信息

- 错误码：

     - duplicated primary key // DDL。
     - 4016 // DML。
 - 字符集：`utf8mb4_unicode_ci`。
 - 分词器：`beng`。
 - 特殊空格字符：`C2A0`。
 - 表结构示例：

     - 主表：`incident`。
     - 索引列：`detail`。

## 问题原因

此问题是由于 OceanBase 内核中的一个 BUG 引起，具体表现为 MemTable 与外部容器使用的判等逻辑不一致，特别是在处理空格时，`beng` 分词器未能正确识别某些特殊空格字符（如 `C2A0`），导致同一行数据中的前缀加上特殊空格和仅前缀被视为重复值，从而触发错误码 4016。

## 问题的风险及影响

- SQL 执行报错 4016 或创建索引 duplicated row 从而失败。
 - 数据插入失败。
 - 可能影响到依赖全文索引功能的应用程序的正常运行。

## 适用版本

OceanBase 数据库 V4.3.5 BP3（oceanbase-4.3.5.3-103000102025071821）及之后版本。

## 解决方法及规避方式

将字段的字符集 collation 设置为 `utf8mb4_general_ci`。

上一篇

[show create table 后看不到索引的 local/global 属性](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003891637)

下一篇

[如何通过脚本在字典视图中查询元数据](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000001014) ![有帮助](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) 咨询热线
