Comment définir la valeur par défaut de mysql colonne comme unix_timestamp?
Je pensais à quelque chose comme ceci:
`post_modified` int(11) NOT NULL DEFAULT UNIX_TIMESTAMP (NOW ()) ON UPDATE UNIX_TIMESTAMP (NOW ()),
Mais ce code ne fonctionne pas.
Pas possible. Les valeurs par défaut ne peut pas être dynamique, SAUF dans le cas de
stackoverflow.com/questions/5331026/... -- Vérifier cette
timestamp
champs. Vous aurez à utiliser un déclencheur pour définir un timestamp unix.stackoverflow.com/questions/5331026/... -- Vérifier cette
OriginalL'auteur m3tsys | 2012-10-29
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer des déclencheurs pour cela.
CREATE TRIGGER {trigger_name} BEFORE INSERT ON {table_name} FOR EACH ROW SET new.{field_name} = UNIX_TIMESTAMP(NOW());
CREATE TRIGGER {trigger_name} BEFORE UPDATE ON {table_name} FOR EACH ROW SET new.{field_name} = UNIX_TIMESTAMP(NOW());
OriginalL'auteur Arjun Raj
Nan vous ne pouvez pas l'utiliser comme vous l'a montré.
De Données Type de doc sur MySql:
"La valeur par défaut doit être une constante; il ne peut pas être une fonction ou une expression. Cela signifie, par exemple, que vous ne pouvez pas définir la valeur par défaut pour une colonne de date à la valeur d'une fonction comme NOW() ou CURRENT_DATE. L'exception est que vous pouvez spécifier CURRENT_TIMESTAMP comme valeur par défaut pour une colonne de type TIMESTAMP."
Regarder au-dessous de la réponse de la solution de rechange:
Est-il possible de créer une colonne avec un UNIX_TIMESTAMP par défaut dans MySQL?
Espère que cela va vous aider !
OriginalL'auteur metalfight - user868766