patrickdamery Asked: 2016-05-09 14:20:14 +0800 CST2016-05-09 14:20:14 +0800 CST 2016-05-09 14:20:14 +0800 CST MySql 查询在 occasions 上返回 null 772 我不确定究竟是什么原因造成的,但有时我知道必须返回结果的 mysql 查询有时会返回 null 作为结果。我之前已经看到这种情况发生了两次,但由于我在错误日志中找不到任何内容,所以我刚刚更新了所有内容并假设现在应该没问题,但我最近才看到同样的错误再次发生。即使查询应该返回实际值,Mysql 是否会返回 null 作为结果?目前我有点难过,我最好的猜测可能是数据损坏?在谷歌上找不到太多关于这个问题的信息,所以我决定在为我的电脑购买新硬盘之前征求意见。非常感谢您能给我关于这个问题的任何见解,谢谢! ubuntu mysql query 3 个回答 Voted mbrandeis 2016-05-09T19:27:36+08:002016-05-09T19:27:36+08:00 很抱歉发布这是一个答案,我的声誉不够高,无法发表评论。 如果没有关于您的查询的更多详细信息,将很难给出答案。 如果查询像“从表中选择 *”这样简单,那么获得随机空值会很奇怪。 如果您的查询使用某种 where 子句,则可能是您的查询随机使用了错误的值。您应该尝试捕获空响应并记录您刚刚尝试运行的查询。 EEAA 2016-05-09T14:39:41+08:002016-05-09T14:39:41+08:00 最好的办法是启用通用查询日志,然后在收到意外的 NULL 结果时检查查询日志和错误日志。要启用常规日志,请在my.cnf. general_log_file = /path/to/query.log general_log = 1 请记住,与 binlog 不同的是,所有查询都写入通用日志,甚至是 SELECT 查询,因此日志会消耗大量空间。因此,如果您这样做,请密切注意。 此外,检查dmesg任何与文件系统相关的错误的输出。 Best Answer patrickdamery 2016-06-05T15:33:33+08:002016-06-05T15:33:33+08:00 好的,所以我已经弄清楚了。Mysql 不是我最初怀疑的问题。执行的 php 脚本返回一个 xml 文件,我使用 firefox 运行通过 ajax 请求执行此脚本的 Web 应用程序。原来firefox似乎有一个错误,它在处理xml文件时发送多个ajax请求,这导致数据库更新,然后当第二个请求进入时结果为null(更新会将查询的结果呈现为null )。我通过确保每个请求都是唯一的来解决这个问题。 感谢大家的帮助!
很抱歉发布这是一个答案,我的声誉不够高,无法发表评论。
如果没有关于您的查询的更多详细信息,将很难给出答案。
如果查询像“从表中选择 *”这样简单,那么获得随机空值会很奇怪。
如果您的查询使用某种 where 子句,则可能是您的查询随机使用了错误的值。您应该尝试捕获空响应并记录您刚刚尝试运行的查询。
最好的办法是启用通用查询日志,然后在收到意外的 NULL 结果时检查查询日志和错误日志。要启用常规日志,请在
my.cnf
.请记住,与 binlog 不同的是,所有查询都写入通用日志,甚至是 SELECT 查询,因此日志会消耗大量空间。因此,如果您这样做,请密切注意。
此外,检查
dmesg
任何与文件系统相关的错误的输出。好的,所以我已经弄清楚了。Mysql 不是我最初怀疑的问题。执行的 php 脚本返回一个 xml 文件,我使用 firefox 运行通过 ajax 请求执行此脚本的 Web 应用程序。原来firefox似乎有一个错误,它在处理xml文件时发送多个ajax请求,这导致数据库更新,然后当第二个请求进入时结果为null(更新会将查询的结果呈现为null )。我通过确保每个请求都是唯一的来解决这个问题。
感谢大家的帮助!