2017-02-14 208 views
0

我在我的數據庫中名爲「eventstart」的字段。那裏的值是一個unix時間戳。我想1天添加到這一點,但它只能存儲0Mysql添加1天到時間戳

我想:

UPDATE mytable SET eventstart=TIMESTAMPADD(DAY,1,eventstart) WHERE 1 

UPDATE mytable SET eventstart=TIMESTAMPADD(DAY,1,DATE_FORMAT(FROM_UNIXTIME(eventstart), '%d-%m-%Y')) WHERE 1 

UPDATE mytable SET eventstart=UNIX_TIMESTAMP(TIMESTAMPADD(DAY,1,DATE_FORMAT(FROM_UNIXTIME(eventstart), '%d-%m-%Y'))) WHERE 1 

...之類的東西。

回答

1

如果eventstart存儲UNIX_TIMESTAMP(你必須先定義它,當你創建的表),這意味着它的值應該是在幾秒鐘。一天是86400秒;所以您應該將此添加到eventstart字段中的值。因此,更新將是

UPDATE myTable SET eventstart = (eventstart + 86400) 

我希望這可以幫助。

+0

這增加了沒有,現場保持不變。定義爲 eventstart int(11)DEFAULT'0'NOT NULL, – Falk

+0

ok,很奇怪,現在它增加了秒數。謝謝! – Falk

+0

我很高興它做到了。請投票贊成 - :) – kampangala

-1

你可以嘗試這樣的:

UPDATE mytable SET eventstart = eventstart + interval 1 day WHERE 1 
0

使用這個命令:

UPDATE myTable SET eventstart = UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(eventstart), INTERVAL 1 DAY))