2017-02-14 1 views
0

J'ai un champ dans ma base de données nommé "eventstart". La valeur qu'il y a est un timestamp unix. Je veux ajouter 1 jour à ce sujet, mais il ne stocke 0.Mysql ajouter 1 jour à l'horodateur

J'ai essayé:

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 

... et des choses comme ça.

Répondre

1

Si le eventstart stocke une unix_timestamp (vous devez avoir défini lorsque vous avez créé la table), cela signifie qu'il les valeurs doivent être en quelques secondes. Un jour est 86400 secondes; Vous devriez donc ajouter ceci aux valeurs dans le champ eventstart. Par conséquent la mise à jour serait

UPDATE myTable SET eventstart = (eventstart + 86400) 

J'espère que cela aide.

+0

cela ajoute rien, reste inchangé champ. Le champ est défini comme eventstart int (11) DEFAULT '0' NOT NULL, – Falk

+0

ok, bizarre, maintenant il ajoute les secondes. Je vous remercie! – Falk

+0

Je suis content que ce soit le cas. S'il vous plaît votez - :) – kampangala

-1

Pouvez-vous essayer avec ceci:

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

utiliser cette commande:

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