如何从表中删除一行,在另一行中删除多行?

时间:2014-01-11 22:01:48

标签: mysql sql database database-design relational-database

我有两张桌子:

图片

post_id     user_id     post_text     post_time
----------------------------------------------------------
1           1           TEXT          2014-01-12 11:07:00
2           2           TEXT          2014-01-12 12:10:00

已点击

clicked_id        post_id        user_id 
-----------------------------------------
1                 1              1       
2                 1              2       
3                 2              1        

每当使用ajax单击图像时,我都会将单击添加到单击的表中,并将其与单击该图像的用户以及其点击来自的帖子相关联。这就是表格的用途。

真正的问题是:

我使用以微小方式运行的事件删除早于服务器**的 CURRENT_TIMESTAMP 的图片。如何通过两个表的post_id删除与此类图片相关联的点击次数

这是当前正在运行的事件,只删除早于CURRENT_TIMESTAMP的图像:

DELETE * FROM images WHERE post_time <= CURRENT_TIMESTAMP;

**帖子的日期设置为未来日期

有人能以正确的方式引导我吗?那将是值得赞赏的。 谢谢。

1 个答案:

答案 0 :(得分:0)

    declare @CurTime datetime = CURRENT_TIMESTAMP

    delete from C
    from Images I 
    join Clicked C
    on C.post_ID = I.post_ID
    where I.post_time <= @CurTime

    delete from Images 
    where post_time <= @CurTime

MS SQL确实如此。不要在MySQL中试过