---
title: 建表错误，错误代码 1118-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于建表错误，错误代码 1118相关的常见问题和使用技巧，帮助您快速解决建表错误，错误代码 1118的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 建表错误，错误代码 1118

更新时间：2026-05-19 09:51

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

本文介绍建表时报错 1118 提示 `Row size too large` 的原因和解决方法。

## 影响版本

OceanBase 数据库所有版本。

## 问题现象

建表时报错，系统提示 `Row size too large`，错误信息如下所示。

```unknow
CREATE TABLE test (name01 varchar(262144), name02 varchar(131073),name bigint(100));
ERROR 1118 (42000): Row size too large

```

## 可能原因

根据错误信息，可以确定是由于字符类型长度超过了限制值。

排查建表语句，发现字符类型列长度超过 1.5MB 字节。对于 utf8mb4 字符集，每一个字符占据 4 字节，所以字符长度总限制为 1.5MB/4 = 393216。而 name01 与 name02 列的字符长度为 262144 + 131073 = 393217，超过了该限制，因此建表失败。

#### 说明

OceanBase 数据库中，varchar 类型是按照指定长度计算的，最大长度为 256K 个字符；text、blob、 binary 类型的长度为 min { 指定长度，2048 } 。例如，blob(4096) 的计算长度为 2048，blob(1024) 计算长度为 1024。另外，bigint 与其他非 char、blog、text 类型不会纳入行大小的计算之中。例如上述 SQL 中，bigint 的长度不会影响该语句的运行。

## 解决方法

可以缩短 varchar 的长度来避免这个问题。

如果确认需要使用超过限制长度的字符，可以通过不使用 varchar 类型，而使用其他类型来解决，例如使用 varbinary。

```unknow
obclient> CREATE TABLE test (name01 varchar(262144), name02 varbinary(131073),name bigint(100));

```

Previous

[创建表失败，错误代码 4624](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000181)

Next

[MySQL 租户 CTAS 建表报错 ERROR 4179](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207737) ![有帮助](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) 咨询热线
