S05004

错误代码

S05004

报错信息

The column [ZZZ] expects type of XXX, but the actual type is YYY. RefId:S05004

错误原因

向分布式表中类型为 T1 的列里写入类型为 T2 的数据,当 T1 和 T2 不兼容时,会报该错误。当且仅当以下条件之一成立时,T1 和 T2 才是兼容的:

  • T1 和 T2 相同,比如都是 INT。

  • T1 和 T2 所属的分类(catagory)一样,比如 INT 和 LONG 都属于 Integral,则为兼容。

  • T1 属于 Floating 类别,T2 属于 Integral 类别。

  • T1 属于 DECIMAL 类别,T2 属于 Integral 或 Floating 类别。

解决办法

检查表和写入数据的数据类型,可尝试如下方法:

  • 修改表的 schema。

  • 如果表的 schema 无法修改,对写入的数据的类型进行显示的类型转换。