个人技术分享

今日在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' 

问题迎刃而解。好了今天就到这里了。