2014-02-23 73 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