全部产品
Search
文档中心

:通过数据变更或SQLConsole执行DML语句时提示“Data truncation:Data too long”

更新时间:Feb 08, 2021

问题描述

通过数据变更或SQLConsole执行RDS MySQL实例或自建MySQL数据库(ECS自建数据库或IDC自建数据库)的DML语句时,出现了截断报错,报错信息如下。

Data truncation:Data too long

问题原因

指定写入该字段值的长度超过了表结构定义的对应字段长度,导致数据无法正确写入,出现了截断报错。

解决方案

检查表结构的定义及DML需求,根据实际情况确认使用以下任意一种方法:

  • 调整表结构中该字段的长度:
    • 通过DMS控制台调整字段长度:
      1. 登录DMS控制台,选择目标实例,选择目标库,然后右键单击目标表,选择编辑表结构
      2. 单击列信息,根据实际情况,调整目标列的长度。
    • 通过SQL语句调整字段长度(示例如下):
      ALTER TABLE `[$Table]` MODIFY COLUMN `[$Field]` [$Type]([$Num]);
      说明
      • [$Table]为需要调整的表名。
      • [$Field]为需要调整的字段名。
      • [$Type]为字段类型。
      • [$Num]为字段的长度。
  • 修改执行DML语句的字段类型,使其长度满足要求。

适用于

  • 数据管理DMS
  • 云数据库RDS
    说明:本文适用于RDS MySQL实例或自建MySQL数据库(ECS自建数据库或IDC自建数据库)。