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 サイトの他の関連記事を参照してください。