Mysql添加1天到时间戳

问题描述:

我在我的数据库中名为“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 

...之类的东西。

如果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

你可以尝试这样的:

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

使用这个命令:

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