2012-06-08 22 views
1

錯誤雖然上午執行查詢什麼是在給定的查詢

SELECT TIMESTAMPDIFF(SECOND, NOW(), 'select lastLoginTime from requests where id = 2 ') 

它返回NULL。任何想法爲什麼?

+0

它沒有返回'NULL',它返回'ERROR 1064(42000):你在你的SQL語法錯誤;請檢查與您的MySQL服務器版本相對應的手冊,以在第1行'附近的'2'')使用正確的語法。字符串不是[子查詢](http://dev.mysql.com/doc/refman/5.0/en/subqueries.html)。 – lanzz

+2

用實際的子查詢替換你的字符串。讀完[MySQL文檔]後(http://dev.mysql.com/doc/refman/5.0/en/subqueries.html)。 – lanzz

+0

我的不好..更正了查詢,返回NULL。 –

回答

2
mysql> SELECT TIMESTAMPDIFF(SECOND, NOW(), 'select last_update from t1 where actor_id = 2 '); 
+--------------------------------------------------------------------------------+ 
| TIMESTAMPDIFF(SECOND, NOW(), 'select last_update from t1 where actor_id = 2 ') | 
+--------------------------------------------------------------------------------+ 
|                   NULL | 
+--------------------------------------------------------------------------------+ 
1 row in set, 1 warning (0.00 sec) 

刪除「,添加()

mysql> SELECT TIMESTAMPDIFF(SECOND, NOW(), (select last_update from t1 where actor_id = 2)); 
+-------------------------------------------------------------------------------+ 
| TIMESTAMPDIFF(SECOND, NOW(), (select last_update from t1 where actor_id = 2)) | 
+-------------------------------------------------------------------------------+ 
|                 -199167725 | 
+-------------------------------------------------------------------------------+ 
1 row in set (0.00 sec)