博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
执行 sql 报错未缓冲查询,错误码 2014
阅读量:5221 次
发布时间:2019-06-14

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

sql语句为

SELECT    COUNT(id) AS tp_count   FROM    `tableName`   WHERE    `status` = 0     AND `source` = 1     AND (      `end_time`-`add_time` > 2592000       AND `end_time`-`add_time` <= 5184000     ) LIMIT 1

发生报错如下

PDOException:SQLSTATE [HY000]:常规错误:2014在其他未缓冲的查询处于活动状态时无法执行查询。考虑使用PDOStatement :: fetchAll()。或者,如果您的代码只是针对mysql运行,则可以通过设置PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY属性来启用查询缓冲。

在google查找报错信息,各种改配置,优化 sql,没有明确办法

在阿里云 SDN上执行 sql,发现报错

Data truncation: BIGINT UNSIGNED value is out of range in '(`end_time`-`add_time` > 2592000      AND `end_time`-`add_time` <= 5184000    )'

经过排查发现,有的数据中end_time小于 add_time,所以 sql 条件运算为负值,产生 BIGINT UNSIGNED 报警,于是修改 sql 如下

SELECT    COUNT(id) AS tp_count   FROM    `tableName`   WHERE    `status` = 0     AND `source` = 1     AND `end_time` > `add_time`    AND (      `end_time`-`add_time` > 2592000       AND `end_time`-`add_time` <= 5184000     ) LIMIT 1

则问题解决

转载于:https://www.cnblogs.com/zongsir/p/2014-sql-HY000-wei-huan-chong-cha-xun-cuo-wu.html

你可能感兴趣的文章
Django 相关
查看>>
ArcGIS自定义工具箱-字段合并
查看>>
git init
查看>>
Vue(day8)
查看>>
sshpass ssh登录时自动输入密码
查看>>
训练记录
查看>>
【转】ubuntu16.04设置python3为默认及一些库的安装
查看>>
算数几何均值不等式,柯西不等式,琴生Jensen不等式
查看>>
mysql group by的用法 注意
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Python中的join()函数的用法
查看>>
Hive教程(1)
查看>>
黑马程序员-指针的初步认识
查看>>
提示未授予用户在此计算机上的请求登录类型
查看>>
Java集合框架学习
查看>>
第16周总结
查看>>
将Cent0S 7的网卡名称eno33改为eth0
查看>>
透明度Opacity多浏览器兼容处理
查看>>
oracle 常用简单命令语句
查看>>
【机器学习_3】常见术语区别
查看>>