我想删除时差为5分钟的每一行。我使用time()作为int。
mysql_query("DELETE FROM users WHERE time()-time > 300");查询就是问题所在...
发布于 2011-04-16 04:17:41
是一个PHP函数--在SQL中完全没有意义。
您应该:
unix_timestamp(now())可能会执行trick.
从SQL查询中获取
time(),所以它是由PHP进行计算的。例如,使用第二个想法,我想你可以这样做:
mysql_query("DELETE FROM users WHERE " . time() . "-time > 300");发布于 2011-04-16 04:19:47
假设时间是users表中的一列,这是您需要的:
mysql_query("DELETE FROM users WHERE NOW() - INTERVAL 300 SECOND > time");NOW()是一个在DB服务器而不是web服务器上返回时间的函数。
只需确保DB服务器和Web服务器上的时钟是同步的
下面是一个使用SELECT的示例
mysql> select now(),(now() - INTERVAL 300 SECOND);
+---------------------+-------------------------------+
| now() | (now() - INTERVAL 300 SECOND) |
+---------------------+-------------------------------+
| 2011-04-15 16:21:41 | 2011-04-15 16:16:41 |
+---------------------+-------------------------------+发布于 2011-04-16 04:21:52
Mysql_query(“从用户中删除时间< '".( time ()-300)."‘");
并且此查询将由mysql缓存
https://stackoverflow.com/questions/5681925
复制相似问题