码迷,mamicode.com
首页 > 数据库 > 详细

mysql - Truncated incorrect DOUBLE value: 'undefined'

时间:2017-11-20 01:04:57      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:arch   mysq   数据   truncated   就会   sql 语句   select   tab   into   

mysql - Truncated incorrect DOUBLE value: ‘undefined‘

 

我是怎么遇到这个问题的?

        我要从多个表里,查询统计数据,保存到统计表里,需要执行下面这种结构的 sql 语句:

                insert into table1 select (select count(*) from t1 where ...) c1, select (select count(*) from t1 where ...) c1

        单独执行 select (select count(*) from t1 where ...) c1, select (select count(*) from t1 where ...) c1 没有问题

        合在一起执行就会出现 Truncated incorrect DOUBLE value: ‘undefined‘

 

最后发现原因,是因为:

        子语句 select count(*) from t1 where ... 的 where 条件里,有个   where lat != 0

        而 t1 表里,lat 保存的是 varchar 格式,当 lat 有转不了 DOUBLE 的值时,就会报错:Truncated incorrect DOUBLE value: ‘undefined‘

 

解决方式:

        将 where lat != 0 改成 where lat != ‘0‘

 

至于为什么单独执行 select (select count(*) from t1 where ...) c1, select (select count(*) from t1 where ...) c1 却不报错,就不知道为什么了

mysql - Truncated incorrect DOUBLE value: 'undefined'

标签:arch   mysq   数据   truncated   就会   sql 语句   select   tab   into   

原文地址:http://www.cnblogs.com/liaolongjun/p/7863022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!