2013-03-04 40 views
0

我可以在PHP中編寫代碼,但我對SQL根本不擅長。爲了傳遞給定的user_id,我需要在表上運行更新,並將用戶擁有的所有產品的「access_end」日期從今天的日期設置爲一年。SQL update語句添加一年到access_end日期

大加讚賞

數據庫的任何幫助是MySQL的

表名是數據庫dap_users_products_jn

相關領域有:

user_id | access_end_date | product_id 

1  | 2012-10-26 | 34 
1  | 2012-11-21 | 30 
1  | 2012-12-22 | 3 
2  | 2012-10-20 | 34 
2  | 2012-07-18 | 30 
2  | 2012-08-15 | 3 
...etc 
+0

['DATE_ADD(access_end_date,間隔1 YEAR)'](https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_a dddate)'WHERE user_id = ...',然後查看其餘的日期/時間函數,您還不知道... – Wrikken 2013-03-04 23:13:05

回答

3
update dap_users_products_jn 
set access_end_date = date_add(now(), interval 1 year) 
where user_id = 1 
+0

也可以使用'set access_end_date = now()+ interval 1 year'而不是調用函數'date_add()'。雖然我還沒有測試過 – zgr024 2013-03-04 23:15:40

+0

,但如果不想將時間分量添加到結果日期,我建議使用curdate()而不是now()來提高性能。 – 2013-03-04 23:16:34

+0

甜。想象它會很簡單。感謝和+1 – RegEdit 2013-03-04 23:20:25