如何从我的数据库中不时删除一行

时间:2013-05-17 13:37:53

标签: php mysql sql

我的想法是: 如果有人在我的数据库上写了一条消息,我想在插入我的表'消息'后24小时删除该消息。触发器只是在之后或之前执行并插入或更新,但我希望在此消息存在一天时实时删除。我这样做是为了一个webapplication.Is这是一个PHP问题而不是SQL? 你能告诉我一些可行的办法吗?

提前致谢。

2 个答案:

答案 0 :(得分:4)

请勿每24小时删除一次记录。相反,在检索数据时计算一个标记,指示记录是否超过24小时。只是过滤掉它们。您可以使用视图进行设置。

然后,在闲暇时,删除超过24小时的邮件。您可以每天,每周一次或随时随地进行此操作。大量删除会对性能产生负面影响,因此您可能希望等到安静的时间进行删除。

答案 1 :(得分:1)

您必须运行预定作业。只需删除其插入/创建时间超过当前时间24小时的记录。如果您当前没有“创建时间”字段,请务必创建一个,以便进行比较。

让它每半小时,每小时运行一次,或者多次更新。

您可以在此处找到有关安排的更多信息:

MySql Event Scheduler