Mysql按时间差异删除()

And*_*ara 3 php mysql

我想删除时差为5分钟的每一行.我使用time()作为int.

mysql_query("DELETE FROM users WHERE time()-time > 300");
Run Code Online (Sandbox Code Playgroud)

查询是问题......

Pas*_*TIN 5

time() 是一个PHP函数 - 在SQL中绝对没有意义.

你应该:

  • 使用MySQL的日期时间函数之一
    • 要获得UNIX时间戳,我想unix_timestamp(now())可能会做到这一点.
  • time()退出SQL查询,因此它由PHP评估.


例如,使用第二个想法,我想你可以做这样的事情:

mysql_query("DELETE FROM users WHERE " . time() . "-time > 300");
Run Code Online (Sandbox Code Playgroud)