MYSQL从异常中删除

时间:2016-06-09 14:19:00

标签: php mysql mysqli

所以我有一个cron工作,每24小时删除一次下载令牌:

$db->query('DELETE FROM download_token WHERE expiry < :expiry', array('expiry' => date('Y-m-d H:i:s')));

但我不希望mysql从用户ID中删除下载令牌,在这种情况下用户ID 29它可以删除其他所有内容但不删除用户ID 29的令牌

我该怎么做?这个怎么样?:$db->query('DELETE FROM download_token WHERE user_id IS NOT '29' AND expiry < :expiry', array('expiry' => date('Y-m-d H:i:s')));

user_id保存在同一个表中。

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

您只需在查询中添加其他条件:

$db->query(
  'DELETE FROM download_token WHERE expiry < :expiry AND user_id != :user_id',
  array('expiry' => date('Y-m-d H:i:s'), 'user_id' => 29)
);

IS NOT子句保留用于将值与NULL进行比较,因为这是一种奇怪的值:NULL != NULLNULL = NULL都返回NULL