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

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

划线反馈

# 列默认值吞空格

更新时间：2026-05-18 09:11

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

## 问题现象

当列默认值尾部为一个或者多个空格时，无论是该列为 `char` 类型还是 `varchar` 类型。都会去掉尾部的空格。与原生 MySQL 的行为不兼容。在原生 MySQL 中只有 `char` 类型会去掉默认值中的尾部空格。`varchar` 类型会保留。

## 关键诊断信息

### 触发条件

在 OceanBase 数据库 MySQL 模式下，列类型为 `varchar` 时，创建尾部包含空格的默认值列时触发。

### 事前巡检

无。

### 事后诊断

查看建表类型是否为 `varchar`，列默认值尾部有没有空格，相关查询 SQL 如下。

```shell
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'varchar' AND COLUMN_DEFAULT IS NOT NULL AND table_name = $table_name;

```

## 问题原因

在 OceanBase 数据库 MySQL 模式下，列默认值尾部有空格时，`varchar` 类型采取了和 `char` 类型一样的去除空格的策略。导致与原生 MySQL 行为的不一致。

## 问题的风险及影响

与原生 MySQL 的行为不兼容。utf16 格式下可能产生 `4103 check error` 问题。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 MySQL 租户，对于 Oracle 租户无影响。

## 影响版本

OceanBase 数据库企业版本 V4.2.1 GA（oceanbase-4.2.1.0-100000182023092722）及之后版本、V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）及之后版本。

## 解决方法

升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V4.2.5 BP1（oceanbase-4.2.5.1-101000182024120722）及之后版本。

上一篇

[OceanBase 数据库类型转换规则](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000636178)

下一篇

[OceanBase 数据库 MySQL 模式 LONGTEXT 字段兼容问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207745) ![有帮助](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) 咨询热线
