0

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

提前致谢。

4

2 回答 2

4

不要每 24 小时删除一次记录。相反,在您检索数据时计算一个标志,表明该记录是否早于 24 小时。只需将它们过滤掉。您可以使用视图进行设置。

然后,在您闲暇时,删除超过 24 小时的消息。您可以每天一次、每周一次或任何时候执行此操作。大量删除会对性能产生不利影响,因此您可能希望等到安静的时间再进行删除。

于 2013-05-17T13:41:53.053 回答
1

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

让它每半小时、每小时或您希望更新的次数运行一次。

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

MySql 事件调度器

于 2013-05-17T13:43:16.660 回答