我有一个连接两个表(消息和元)的SQL查询,然后根据其中一个列sender_id的值从消息中删除。在下面的示例中,我使用了一个用户的ID,22。如何使此查询循环遍历sender_id的每个唯一值?
DELETE `messages`
FROM
`messages` LEFT JOIN `meta` ON (`meta`.message_id = `messages`.id)
WHERE
`meta`.message_id IS NULL
AND
`messages`.date_sent < DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND
`messages`.sender_id = 22 // How can I replace '22' so that the query searches for
each unique value of sender_id?
答案 0 :(得分:1)
你不能放弃这个条件吗?
DELETE m
FROM messages LEFT JOIN
meta
ON meta.message_id = m.id
WHERE m.message_id IS NULL AND
m.date_sent < DATE_ADD(NOW(), INTERVAL -1 MONTH) ;
这将删除符合条件的所有邮件。