文档首页/ 数据治理中心 DataArts Studio/ 常见问题/ 数据集成/ MySQL迁移时报错:invalid input syntax for integer: "true"
更新时间:2022-12-07 GMT+08:00

MySQL迁移时报错:invalid input syntax for integer: "true"

问题描述

数据库中存储的是1或0,但没有true和false的数据,但MySQL迁移时读取到的是true或false,提示报错信息:Unable to execute the SQL statement. Cause: ERROR: invalid input syntax for integer: "true" Where: COPY sd_mask_ext, line 1, column mask_type.

原因分析

MySQL默认开启配置tinyInt1isBit=true,会将TINYINT(1)当作BIT也就是Types.BOOLEAN来处理,将1或0读取为true或false。

解决方案

在MySQL数据连接高级属性中,连接属性新增如下参数之一即可,这样就可以在目的端正常建表。

  • “tinyInt1isBit”参数,参数值设为“false”。
  • “mysql.bool.type.transform”参数,参数值设为“false”。
    图1 添加连接属性