ホームページ  >  記事  >  データベース  >  Cron ジョブと PHP を使用して時間に基づいて MySQL 行を自動的に削除する方法

Cron ジョブと PHP を使用して時間に基づいて MySQL 行を自動的に削除する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 04:33:30511ブラウズ

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

Cron ジョブを使用した時間に基づく MySQL 行の自動削除

提示されたシナリオには課題があります。それは、MySQL データベースから行を削除するという課題です。 「日付」フィールドは現在の日付より小さく、ユーザー入力なしで毎日午前 0 時にスクリプトが自動的に実行されるという要件があります。この記事では、PHP スクリプトと cron ジョブを利用したソリューションを紹介します。

データ削除用の PHP スクリプト

次のパラメータを使用して、「cronjobcommand.php」という名前の PHP スクリプトを作成します。次のコード:

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

このスクリプトは、include ステートメントを使用して MySQL データベースへの接続を確立します。次に、指定されたテーブルから、「Date」フィールドが現在の日付と時刻 (NOW() を使用して取得) より小さいすべての行を削除するクエリを実行します。

Cron ジョブの設定

PHP スクリプトが完了したら、毎日深夜に実行されるように cron ジョブを設定する必要があります。このための cron ジョブ コマンドは次のようになります。

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

このコマンドでは、「0 0」は午前 12 時 (真夜中) を表し、「*」は月、週、年の毎日を表します。 「/usr/local/bin/php」は、システム上の PHP 実行可能ファイルへのパスです。 「/path/to/cronjobcommand.php」を PHP スクリプトの実際のパスに調整します。

cron ジョブ コマンドを crontab ファイルに保存すると、スクリプトが毎日午前 0 時に自動的に実行され、次の行が削除されます。手動介入なしで、指定された日付基準に基づいて MySQL テーブルを作成します。

以上がCron ジョブと PHP を使用して時間に基づいて MySQL 行を自動的に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。