如果多个条件匹配,则从两行中删除的SQL语句

Leo*_*aus 1 mysql sql mysqli

美好的一天!我正在尝试删除invitations列,其中列invited_at超过三天.此外,role表的列users必须具有值1,23.值user_id表的invitationsusers必须匹配.如果匹配,则应删除表users的行和表的行invitations.这是我的sql语句:

DELETE FROM invitations AS inv, users AS us
WHERE inv.user_id = us.user_id
AND us.role = 0 OR 2 OR 3
AND inv.invited_at < NOW() - INTERVAL 3 DAY;
Run Code Online (Sandbox Code Playgroud)

我不知道怎么办不起来.

Gor*_*off 5

这是您的目标语法:

DELETE i
    FROM invitations i JOIN
         users u
         ON i.user_id = u.user_id
    WHERE u.role IN (1, 2, 3) AND
          i.invited_at < NOW() - INTERVAL 3 DAY;
Run Code Online (Sandbox Code Playgroud)