Heim  >  Artikel  >  Datenbank  >  Wie lösche ich MySQL-Zeilen automatisch zeitabhängig mit einem Cron-Job und PHP?

Wie lösche ich MySQL-Zeilen automatisch zeitabhängig mit einem Cron-Job und PHP?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 04:33:30511Durchsuche

How to Automatically Delete MySQL Rows Based on Time Using a Cron Job and PHP?

Automatisches Löschen von MySQL-Zeilen basierend auf der Zeit mithilfe eines Cron-Jobs

Das dargestellte Szenario stellt eine Herausforderung dar: Das Löschen von Zeilen aus einer MySQL-Datenbank, in der die Das Feld „Datum“ liegt unter dem aktuellen Datum, mit der Anforderung, dass das Skript automatisch täglich um Mitternacht ausgeführt wird, ohne dass eine Benutzereingabe erforderlich ist. In diesem Artikel wird eine Lösung vorgestellt, die ein PHP-Skript und einen Cron-Job verwendet.

PHP-Skript zum Löschen von Daten

Erstellen Sie ein PHP-Skript mit dem Namen „cronjobcommand.php“ mit dem Folgender Code:

<code class="php"><?php
include 'your_db_connection';
mysql_query("DELETE FROM your_table_name WHERE Date < NOW()");
?></code>

Dieses Skript stellt mithilfe der Include-Anweisung eine Verbindung zur MySQL-Datenbank her. Anschließend wird eine Abfrage ausgeführt, die alle Zeilen aus der angegebenen Tabelle löscht, in denen das Feld „Datum“ kleiner als das aktuelle Datum und die aktuelle Uhrzeit ist (abgerufen mit NOW()).

Cron-Job einrichten

Sobald das PHP-Skript fertig ist, müssen Sie einen Cron-Job einrichten, um es täglich um Mitternacht auszuführen. Der Cron-Job-Befehl hierfür wäre:

0 0 * * * /usr/local/bin/php /path/to/cronjobcommand.php

In diesem Befehl steht „0 0“ für 12:00 Uhr (Mitternacht), „*“ bezeichnet jeden Tag des Monats, der Woche und des Jahres, und „/usr/local/bin/php“ ist der Pfad zur ausführbaren PHP-Datei auf Ihrem System. Passen Sie „/path/to/cronjobcommand.php“ an den tatsächlichen Pfad Ihres PHP-Skripts an.

Nachdem Sie den Cron-Job-Befehl in der Crontab-Datei gespeichert haben, wird das Skript jeden Tag um Mitternacht automatisch ausgeführt und löscht Zeilen aus die MySQL-Tabelle basierend auf den angegebenen Datumskriterien ohne manuellen Eingriff.

Das obige ist der detaillierte Inhalt vonWie lösche ich MySQL-Zeilen automatisch zeitabhängig mit einem Cron-Job und PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn