今日在mysql 使用insert into mysql 报错了 》》Truncated incorrect DOUBLE value: ‘完成’。
单独把select 拉出来查询没有问题,但是一和insert into就报错了。
这种insert into select的sql 如果用了where 条件请在条件上 完全遵从数据格式,(字段定义的什么类型,赋值的话也赋值对应类型信息) 如果定义的字段为字符串然后直接输入数字类型比如 1,2,3 的话 就会报错Truncated incorrect DOUBLE value: ‘完成’ 。
然后排查的时候 单独执行,一点问题都没有 但是就是一起执行的时候有问题 , 这个就是数据格式自动转换的问题,
WHERE
su.STATUS =0
AND su.del_flag = 0
AND i.people_type = '1'
AND d.work_status = 3
AND d.salary_pay_type = '2'
修改成
WHERE
su.STATUS ='0'
AND su.del_flag = '0'
AND i.people_type = '1'
AND d.work_status = '3'
AND d.salary_pay_type = '2'
问题迎刃而解。好了今天就到这里了。