mysql报错(1292 - Truncated incorrect DECIMAL value: ‘’, Time: 0.006000s)
项目场景:
用navicat 操作mysql语句的时候
事例例语句:
insert into table () select ..from (select ...where a= 6 and ( name = '' OR name ISNULL ) )
的时候报错
报错内容:(1292 - Truncated incorrect DECIMAL value: '', Time: 0.006000s)
问题描述:
报错:
(1292 - Truncated incorrect DECIMAL value: '', Time: 0.006000s)
改字段类型不管用,试了很多方法
原因分析:
经过一下午的排查发现是子查询里边有个条件判断了 'is null'
where 后边有这个条件
and ( name = '' OR name IS NULL )
解决方案:
可将条件变为
and (name ='' OR IFNULL(name,'') ='')
效果一样,但不会报错,具体原因还不是很清楚,但可以解决此问题。
|