阿里云首页

数据库返回“Data truncation: Truncated incorrect”报错

问题描述

在DMS控制台中执行变更时,出现类似如下报错:

Data truncation: Truncated incorrect XXX

问题原因

  • 数据变更:表上的字段定义和执行的SQL类型不符合,常见的场景为表上定义是字符串类型,SQL中用了数值类型的写法。
  • 结构变更:需要变更的字段中已经存在NULL值记录,无法直接被改为NOT NULL。

解决方案

  • 数据变更
    建议您调整SQL语句中的字段类型,保证类型一致。
  • 结构变更
    1. 执行以下SQL语句,确认需要变更的字段中存在NULL值。
      SELECT * FROM [$Table_Name] where [$Field] is NULL;
      说明
      • [$Table_Name]为表名。
      • [$Field]为您需要变更的字段名。
    2. 将对应字段数据为NULL的值订正为某个默认值或者删除对应字段值为NULL的记录,SQL语句如下所示:
      • 订正为默认值:
        update [$Table_Name] set [$Field]=[$Value] where [$Field] is NULL;
        说明:[$Value]为您变更后的值。
      • 删除NULL记录:
        delete from [$Table_Name] where [$Field] is NULL;
    3. 然后重新提交结构变更即可。

适用于

  • 数据管理DMS
  • 云数据库RDS MySQL版
首页 数据库返回“Data truncation: Truncated incorrect”报错