我试图弄清楚如何更新超过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分钟只是为了测试
答案 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分钟。