博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql - Truncated incorrect DOUBLE value: 'undefined'
阅读量:6642 次
发布时间:2019-06-25

本文共 777 字,大约阅读时间需要 2 分钟。

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 却不报错,就不知道为什么了

转载于:https://www.cnblogs.com/liaolongjun/p/7863022.html

你可能感兴趣的文章
微信公众平台OAuth2.0授权登陆(PHP)
查看>>
【CCNP】BGP路由反射器与AS联邦案例实验
查看>>
TCP_Wrappers
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
一个很酷的加载loading效果
查看>>
我的友情链接
查看>>
Java解析json串
查看>>
ubuntu12.04 NFS搭建指南
查看>>
Sublime Text 使用介绍、全套快捷键及插件推荐
查看>>
toolbar
查看>>
spring boot 项目,maven打jar包时,将本地jar一块打入包
查看>>
Windows Server 2012 虚拟化实战:存储(一)
查看>>
linux shell 计算时间差并显示按时分秒显示
查看>>
iptables防火墙
查看>>
最大子序列和问题的解——C++实现;
查看>>
Shell脚本语言
查看>>
.NET快速开发平台,开发效率倍增神器
查看>>
阿里云 Aliplayer高级功能介绍(六):进度条标记
查看>>
【Python学习笔记】数据结构—序列——list列表和tuple元组
查看>>