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 添加连接属性