unix_timestamp中嵌入的mysql查询

时间:2012-02-10 00:46:49

标签: mysql

为什么这不起作用

...
) as Data
WHERE UNIX_TIMESTAMP(Data.DateTime) <= UNIX_TIMESTAMP(SELECT DateTime from  mytable WHERE ID = $inputID)

如果我没有这个嵌入式sql语句似乎有效,但是sql语句也可以自行运行,所以我不确定为什么这个组合会导致失败。

告诉我

  

检查您的MySQL服务器版本以获取正确的语法以便在附近使用   '在第1行中选择来自mytable WHERE ID = 1008的日期时间'

2 个答案:

答案 0 :(得分:2)

尝试使用额外的parens()包围SQL:

WHERE UNIX_TIMESTAMP(Data.DateTime) <= UNIX_TIMESTAMP((SELECT DateTime from mytable WHERE ID = $inputID))

答案 1 :(得分:0)

使用此:

...
) as Data
WHERE UNIX_TIMESTAMP(Data.DateTime) <= (SELECT UNIX_TIMESTAMP(DateTime) from  mytable WHERE ID = $inputID)

如果DateTime的类型为DateTime,您也可以使用:

...
) as Data
WHERE Data.DateTime <= (SELECT DateTime from  mytable WHERE ID = $inputID)