本文共 882 字,大约阅读时间需要 2 分钟。
我最近在我的查询中使用了LEAST(tb1,tb2,tb3)AS名称来获取跨多列的最小值,并检查它们是否不等于默认值0.00
到目前为止,它工作正常,并且正如我预期的那样,远程服务器上的脚本版本也正常工作。
但是,在更改列的默认值和NULL状态后(我试图查看是否可以使用NULL而不是0.00,在阅读了LEAST文档之后,它不会是我想要做的),然后再重新导入表格我最初使用。它仍然不像以前那样工作,因为没有明显的原因,我的使用LEAST()的查询根本没有返回,空数组,也没有可见的错误消息。
我重新启动了MySQL,刷新了这些表格,拉开了远程脚本在我的开发服务器上测试,似乎没有任何工作。
在我的开发和远程服务器上通过phpmyadmin在表上运行相同的查询返回相反的结果,本地返回零行,远程返回行,两者(表中的#rows除外)具有相同的EXPLAIN结果。
从查询中删除LEAST()函数,确实会在我的开发服务器上返回数据。
以下是一个示例查询:
SELECT id, make, model, LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) AS lowest
FROM xml
WHERE LEAST(r24ch10k, r36ch10k, r24ch15k, r36ch15k, r24ch20k, r36ch20k) != 0.00
ORDER BY lowest LIMIT 5我的本地服务器信息:
服务器版本:5.1.51-社区
Apache / 2.2.16(Win32)PHP / 5.3.3
MySQL客户端版本:mysqlnd 5.0.7-dev - 091210 - $ Revision:300533 $
PHP扩展:mysqli
我的远程服务器信息:
服务器版本:5.0.51a-24 + lenny5
Apache / 2.2.16 PHP / 5.3.3
MySQL客户端版本:5.0.51a
PHP扩展:mysql
将不胜感激,帮助解决这个问题。
转载地址:http://nshhv.baihongyu.com/