从表中删除其他表中的某些内容为真
问题描述:
我有两个表:users
和bans
。我想从禁止任何行中删除该行中的user (ID)
未被激活的行为30 days
或更多。我在我的users table
中有一个名为last_session
的列,其最后一次连接保存为timestamp(as an integer)
,我的bans
表中的一列名为banned_user_id
,它只是banned user
的ID
。从表中删除其他表中的某些内容为真
答
尝试在Prabin的回答以下
Delete b.* from bans b, users u
where b.banned_user_id = u.ID
and u.last_session < subdate(now(),30)
答
的变化。我更喜欢使用连接。
delete b
from bans b
inner join users u on
b.banned_user_id = u.id
where
u.last_session < subdate(now(),30)
答
这一次只删除记录:从禁令表,如问题规定:
delete from bans
where banned_user_id in (
select user_id
from users
where last_session <= subdate(now(), 30)
)