DELETE FROM banned_users WHERE datetime < (NOW() - INTERVAL $ban MINUTE)
我目前正在使用上述内容仅删除禁令已解除的帐户,但是我可以将语句更改为不删除 'ban_length' != "INF" 的项目
假设您没有其他要求,那么这应该可以解决问题:
DELETE FROM banned_users WHERE ban_length != 'INF' && datetime < (NOW() - INTERVAL $ban MINUTE)
DELETE FROM banned_users WHERE datetime < (NOW() - INTERVAL $ban MINUTE) && ban_length != 'INF'
不删除项目在哪里ban_length != 'INF'
?所以只在什么时候删除项目ban_length = 'INF'
?
DELETE FROM banned_users
WHERE datetime < (NOW() - INTERVAL $ban MINUTE)
AND ban_length = 'INF';
5.1.24 之后,mysql 为 INF,INF 和 NaN 提供了 NULL。如果你使用 mysql 大于 5.1.24,你可以试试这个:
DELETE FROM banned_users WHERE datetime < (NOW() - INTERVAL $ban MINUTE) AND ban_length=NULL
或者,你可以试试:</p>
DELETE FROM banned_users WHERE datetime < (NOW() - INTERVAL $ban MINUTE) AND ban_length=INF