在windows上工作的mysql查询不在linux上

时间:2012-01-23 03:45:05

标签: mysql mysqli

$sql = mysql_query("SELECT * FROM users WHERE TO_SECONDS(NOW())-TO_SECONDS(TS) <= 604800 "); 

TS是时间戳列。 604800是7天内的秒数。

此查询在Windows上本地运行完美,但当我将其上传到Linux服务器时,它会停止工作。

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

TO_SECONDS仅存在于SQL版本&gt; = 5.5中,请检查您在Linux上的版本。最喜欢你发行版的版本已经过时了。

没有升级的解决方案在这里: Emulating TO_SECONDS() in older versions of MySQL (<5.5.0)

答案 1 :(得分:0)

MySQL在Linux上运行时是区分大小写的(有时是?),从不在Windows上运行。也许TS是一个不同的案例?

我可能完全错了,这可能只影响表名,但我之前遇到过这个问题。