---
title: Mybatis 框架改写 insert 语句为 returning into 语句导致报错 -4016 的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于Mybatis 框架改写 insert 语句为 returning into 语句导致报错 -4016 的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决Mybatis 框架改写 insert 语句为 returning into 语句导致报错 -4016 的原因和解决方法的难题。
---
切换语言

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

划线反馈

# Mybatis 框架改写 insert 语句为 returning into 语句导致报错 -4016 的原因和解决方法

更新时间：2026-05-28 02:06

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

## 问题现象

应用报错 insert into 时 -4016，且使用了 Mybatis 框架。

## 关键信息

OceanBase 数据库 V3.1.2 版本 returning 报错 -4016。

## 问题原因

OceanBase 数据库 V3.1.2 不支持 returning 返回 DML 的结果。

可能 SQL 没有直接使用 returning into，但是 Mybatis 框架的注解会自动改写 SQL 加上这个关键字。

![image](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20241225returninginto.png)

导致 SQL 从

```shell
insert into CFG_SERVICE ( SERVICE_ID, SERVICE_CODE, SERVICE_NAME, SYSTEM_CODE, IS_PROVIDER, PROTOCOL_ID  )values( (select NVL(MAX(SERVICE_ID)+1,1) from CFG_SERVICE),?,?,?,?,? )

```

被改写为

```shell
insert into CFG_SERVICE ( SERVICE_ID, SERVICE_CODE, SERVICE_NAME, SYSTEM_CODE, IS_PROVIDER, PROTOCOL_ID  )values( (select NVL(MAX(SERVICE_ID)+1,1) from CFG_SERVICE),?,?,?,?,? ) returning SERVICE_ID into ?

```

## 问题的风险及影响

insert 语句执行失败报错。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 适用版本

OceanBase 数据库 V3.1.2 版本。

## 解决方法及规避方式

- 解决方法：

  无法解决，OceanBase 数据库 V3.1.2 版本不支持 returning 返回 DML 的结果。
 - 规避方式：

  避免使用 retruning 语句。

上一篇

[UPDATE SQL 语句产生大量 RPC 请求问题分析的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002398589)

下一篇

[通过 select into outfile 导出的文件名后缀说明](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002077632) ![有帮助](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) 咨询热线
