2015-10-06 61 views
1

嗨我想創建一個更新我的用戶的表的MYSQL觸發器。我的情況是這樣的:我有用戶表,其中有一個字段名爲餘額。每個經銷商都會將其餘用戶分配給:是或否。現在,如果經銷商將用戶餘額設置爲「是」,那麼我將當前日期和時間存入數據庫到一個名爲Reset_date的字段中。現在我想從今天開始計算30天,當30天完成時,我想將用戶餘額更新爲因此,從當天開始餘額設置爲是,30天后餘額應該還原爲如何使用觸發器每30天更新一次表格?

我猜我還應該使用CRON JOB爲此,因爲我有多個經銷商和多個用戶。所以重置數據對於它們每個都是不同的。

我的意思是user1的重置日期是今天,另一個可能不同,所以可能需要在這裏做cron job。所以請指導我如何使用此cron作業。

下面是我爲用戶和經銷商表結構:

經銷商

Resellers

用戶

users

+0

我想你應該在每個午夜運行cron以檢查日期是否超過30天。如果你可以更新到'否' –

+0

@NiranjanNRaju謝謝,但我們可以添加一個觸發器,以cron工作? – Rajan

+0

你應該在你的服務器上設置 –

回答

1

觸發cron作業。

  • 你應該寫在控制器中的功能,你需要什麼(變化yesno如果日期已超過30天。
  • 你應該確保你控制器funtion沒有與任何會議它。

我加入了以下圖片,請他們

enter image description here

我添加了一天內運行一次的cron。在你的服務器上,它看起來像這樣。

enter image description here

+0

這是用於添加此cron作業的界面? – Rajan

+0

接口??我沒有得到你。 –

+0

我正在使用CENTOS作爲我的服務器,所以我在哪裏可以找到這個設置? – Rajan

1

你如何使用cron作業假設 是正確的。 您可以使用以下格式運行玉米做好每午夜:

0 0 0 1/1 * ? * 

在你的工作,你可以用日期它們30天老被分配YES檢查記錄。 然後您可以更新此記錄並將狀態分配到

+0

謝謝,但你可以請發佈如何將此添加到cron工作?我的意思是我們可以添加觸發器到cron工作嗎? – Rajan

+0

NOW() - 時間間隔1個月 或 NOW() - 間隔30天 使用這種在查詢中獲取30天的記錄 –

+0

當我添加餘額=是的,我這樣做:\t $這個 - > DB-> set('reset_date',unix_to_human(strtotime(「+ 30 days」))); – Rajan

相關問題