问题描述
通过数据变更或SQLConsole执行RDS MySQL实例或自建MySQL数据库(ECS自建数据库或IDC自建数据库)的DML语句时,出现了截断报错,报错信息如下。
Data truncation:Data too long
问题原因
指定写入该字段值的长度超过了表结构定义的对应字段长度,导致数据无法正确写入,出现了截断报错。
解决方案
检查表结构的定义及DML需求,根据实际情况确认使用以下任意一种方法:
- 调整表结构中该字段的长度:
- 通过DMS控制台调整字段长度:
- 登录DMS控制台,选择目标实例,选择目标库,然后右键单击目标表,选择编辑表结构。
- 单击列信息,根据实际情况,调整目标列的长度。
- 通过SQL语句调整字段长度(示例如下):
ALTER TABLE `[$Table]` MODIFY COLUMN `[$Field]` [$Type]([$Num]);
说明:
- [$Table]为需要调整的表名。
- [$Field]为需要调整的字段名。
- [$Type]为字段类型。
- [$Num]为字段的长度。
- 通过DMS控制台调整字段长度:
- 修改执行DML语句的字段类型,使其长度满足要求。
适用于
- 数据管理DMS
- 云数据库RDS
说明:本文适用于RDS MySQL实例或自建MySQL数据库(ECS自建数据库或IDC自建数据库)。