Php 如何从数据库中不时删除行

Php 如何从数据库中不时删除行,php,mysql,sql,Php,Mysql,Sql,我的想法是: 如果有人在我的数据库中写入消息,我希望在插入到我的“messages”表24小时后删除该消息。触发器只在事件发生之后或之前起作用,插入或更新,但我想在这条消息存在一天时实时删除它。我这样做是为了一个Web应用程序。这是PHP问题而不是SQL问题吗? 你能告诉我一些可能的方法吗 提前感谢。不要每24小时删除一次记录。取而代之的是,在检索数据时,计算一个标志,表示记录是否早于24小时。把它们过滤掉就行了。您可以使用视图进行设置 然后,在您空闲时,删除超过24小时的邮件。你可以每天做一次

我的想法是: 如果有人在我的数据库中写入消息,我希望在插入到我的“messages”表24小时后删除该消息。触发器只在事件发生之后或之前起作用,插入或更新,但我想在这条消息存在一天时实时删除它。我这样做是为了一个Web应用程序。这是PHP问题而不是SQL问题吗? 你能告诉我一些可能的方法吗


提前感谢。

不要每24小时删除一次记录。取而代之的是,在检索数据时,计算一个标志,表示记录是否早于24小时。把它们过滤掉就行了。您可以使用视图进行设置


然后,在您空闲时,删除超过24小时的邮件。你可以每天做一次,每周做一次,或者你喜欢的任何时候都可以。大量删除可能会对性能产生不利影响,因此您可能需要等待一段安静的时间来执行删除操作。

不要每24小时删除一次记录。取而代之的是,在检索数据时,计算一个标志,表示记录是否早于24小时。把它们过滤掉就行了。您可以使用视图进行设置


然后,在您空闲时,删除超过24小时的邮件。你可以每天做一次,每周做一次,或者你喜欢的任何时候都可以。大量删除可能会对性能产生不利影响,因此您可能需要等待一段安静的时间来执行删除。

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

每半小时运行一次,每小时运行一次,或者更新多少次

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


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

每半小时运行一次,每小时运行一次,或者更新多少次

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


man 1 crontab 5 crontab
man 1 crontab 5 crontab
+1这是一种稳健的方法,因为cronjobs有时无法运行,或者MySQL事件无法迁移到新数据库等。标记记录上方的视图意味着应用程序甚至不需要意识到这一点。+1这是稳健的方法,由于cronjobs有时无法运行,或者MySQL事件无法迁移到新数据库,等等。标记记录上方的视图意味着应用程序甚至不需要知道这一点。