2016-08-24 16 views
-1

私はtbl_cartagという名前のテーブルを持っており、ユーザ入力後にテンポラリフィールドを持っています。削除クエリを実行し、phpとmysqlで24時間ごとにレコードを削除

24時間ごとにこのフィールドをクリアしたいとします。

これは(を含む私は同様の質問を読んで、あなたは、Linux/Unix上で実行している場合、私は

Remove a row from the database after 24 hours in php

Deleting Data each 24 hours in Database with PHP and MYSQLi

+2

http://stackoverflow.com/a/1194864/3164682 – Sarath

答えて

0

を助けにはならなかった私のクエリ

DELETE cartag FROM tbl_cartag WHERE tcartagid=($_GET['tcartagid']) 

ですMac OSX)で、cronジョブを作成します。

Windowsを使用している場合はイベントスケジューラ

を使用し、それは

0

に動作します私は、このオプションが優れていると思う:

DELETE 
FROM YOUR-TABLE 
WHERE 
YOUR-DATE-COLUMN < DATE_SUB(NOW(), INTERVAL 2 DAY); 
0

あなたは切り捨てしたい場合は/一時テーブルからすべてを消去 上記のクエリを実行することができます。

DELETE cartag FROM tbl_cartag WHERE tcartagid=($_GET['tcartagid']) 

また、このクエリ用のcronジョブを作成する必要があります。

それとも、一時テーブルから24時間のデータを消去したい場合、あなたはサイードのNOMAN

YOUR-DATE-COLUMN < DATE_SUB(NOW(), INTERVAL 2 DAY) 
0

で述べたように、あなたが本当に行を削除する必要がない場合は、データの時間クエリを追加する必要があり、かつ唯一のそれをユーザーから隠すために、日付列を追加することができます。日付が過去のものであれば、それを表示しないでください。 例:次に

UPDATE tbl_cartag SET hide_from = DATE_ADD(NOW(), INTERVAL 1 DAY) WHERE tcartagid = $id 

SELECT * FROM tbl_cartag WHERE hide_from < NOW() 

また、あなたはセキュリティ上の理由から、SQLインジェクションについてお読みください。