如何更新超过30秒或30分钟的行

时间:2014-09-27 16:24:26

标签: php mysql

我试图弄清楚如何更新超过30秒或30分钟的MySQL行。

$sql = "SELECT C.sessid, C.datetime, U.username, U.firstname, U.lastname, U.sessid FROM checkins C, users U WHERE U.sessid = C.sessid AND SUBTIME(NOW(),'0 00:01:00')>C.datetime";
$result = mysql_query( $sql );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
mysql_query("UPDATE checkins SET status = 'was in'");
}

这里我加入了表,只有users表和checkins表。 我正在使用subtime来确定时差并尝试更新checkins表行,如果C.datetime超过1分钟只是为了测试

1 个答案:

答案 0 :(得分:1)

这是你在找什么?

UPDATE checkins c join
       users u
       on c.sessid = u.sessid
    SET status = 'was in'
    WHERE c.datetime < now() - interval 30 second;

除非您需要进行过滤,否则可能不需要users表。

只需将30 second更改为30 minute 30分钟。