【发布时间】:2014-01-11 22:01:48
【问题描述】:
我有两张桌子:
图片
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 与此类图像关联的 clicks?
这是当前正在运行的事件,仅删除早于 CURRENT_TIMESTAMP 的图像:
DELETE * FROM images WHERE post_time <= CURRENT_TIMESTAMP;
**帖子的日期设置为将来的日期
有人能以正确的方式引导我吗?那将不胜感激。 谢谢。
【问题讨论】:
-
执行此操作的最佳方法ALTER TABLE
your_tableADD CONSTRAINTdelete_image_clicksFOREIGN KEY (picture_id) REFERENCESclicks_table(id) ON DELETE CASCADE; -
@MKhalidJunaid,这超出了我自学的范围。你能详细说明这会做什么吗?
-
您正在尝试删除单张图片的引用,使用级联删除Read MySQL ON DELETE CASCADE Deletes Data From Multiple Tables,您需要更改您的图片表并使用级联删除定义点击表的外键,所以当您尝试删除图片mysql会注意删除要删除图片的点击
-
@MKhalidJunaid,非常感谢。那篇文章帮助我解决了问题,再次感谢您。
-
你也可以使用join
标签: mysql sql database database-design relational-database