2015-12-24 61 views
0

我真的一直在研究這個問題一段時間,還沒有想出最佳方法。在30分鐘後將行從一個MySQL表移動到另一個

我有一個MySQL分貝。我需要一種方法在行進入第一個表格30分鐘後自動將一個表中的行移動到另一個表中。

我知道scheduled_events是最好的方式,但我不確定GoDaddy是否支持它,因爲它是共享主機。 (請記住,他們顯然不知道)

有沒有其他的選擇?我承認沒有可分享的代碼。

回答

0
  1. 上插入
  2. 在數據庫中創建名爲whentomove列與CURRENT_TIMESTAMP創建一個腳本,針對當前time()行認爲1800秒的差異(AKA 30分鐘)檢查和移動它們。
  3. 創建該文件following these instructions的cronjob,該文件每分鐘或更少運行。

#1

所以,本質上是#1,你可以做這樣的事情在你的數據庫添加whentomove柱後:

$time = time(); 
mysqli_query($connection, "INSERT INTO oldtable (....,whentomove) VALUES (....., $time)"); 

或者設置字段的默認值whentomove到通過phpmyadmin

#CURRENT_TIMESTAMP 2

<?php 
//Database connection stuff 
$time = time() - 1800; 
mysqli_query($connection, "INSERT INTO newtable SELECT * FROM oldtable WHERE whentomove < $time"); 
mysqli_query($connection, "DELETE FROM oldtable WHERE whentomove < $time"); 
?> 

#3

按照這些說明,將第二個腳本作爲cron運行。祝你好運!

+0

需要幫助的代碼:) –

+0

看看一個代碼,並給它一個鏡頭 – Matt

+0

真棒...會嘗試它,讓你知道!非常感謝! –

相關問題