2014-02-23 100 views
1

我有一個小數據庫,我的網站,我想在某個日期就像從每個人的帳戶執行減法:SQL執行對特定日期查詢

UPDATE Loan SET balance = (balance-amount) 
"WHERE Day = 15" 

顯然最後一部分只是一個猜測,但我在貸款表沒有截止日期的那麼傷心的時候CURDATE =交貨期的事情排序,所以我想我只是做了一套一天,當大家的天平在一組減去一天我不能做減法。

回答

1

你可以從NOW()功能DAY()並且可以用它在你的查詢關鍵詞,比如

UPDATE Loan SET balance = (balance-amount) 
WHERE DAY(NOW()) =15 

See fiddle to get day from NOW()

+0

@M Khalid Junaid Ah明亮,簡潔,乾淨。有沒有辦法在後臺運行這個程序,所以我不必每天都執行查詢,或者完全是其他的東西? – Softey

+0

@Softey不知道MySQL的事件調度,但如果你使用任何腳本,那麼你可以做一個cron作業,當你想運行查詢 –

+1

@M哈立德·朱奈德好,我已經看到了MySQL的事件調度在那裏我能做到這安排像/ 'CREATE EVENT loandeduction ON SCHEDULE每4周 STARTS 23/02/2014 ENDS '23/02/2016 DO BEGIN UPDATE SET貸款餘額=(平衡量) WHERE DAY(NOW ())= 15 END // DELIMITER;' – Softey

1

你必須保持某種基準日,以這個工作。

如果每個人都在每月的同一天支付,補充,保留你提取的費用最後一次表。您將使用期間和上次提取時間來計算下一個費用日期。

提醒我不要去你的網站。費用太多。

+0

哈,我不認爲任何人會想要去我的網站嘿嘿。 – Softey