-
date par défaut
Bonjour,
En Postgre, on peut définir une date par défaut dans un champ en précisant la valeur now().
J'ai essayé la même chose en mysql (mysql5), comme suit :
create table TABLE1
(
T_ID int not null AUTO_INCREMENT,
T_ACCESS_DATE date default 'now()'
primary key (T_ID),
);
Mais ça ne fonctionne pas.
Est-ce tout de même possible ?
Par avance, merci pour vos réponse.
Chris
-
extrait de la doc Mysql :
Une valeur DEFAULT doit être une constante, ça ne peut être une fonction ou une expression. Cela signifie notamment que vous ne pouvez pas donner une valeur par défaut à une colonne de date, le résultat de la fonction NOW() ou CURRENT_DATE.
donc il te reste 2 solutions :
- c'est ton applicatif qui calcule la date au moment de l'insertion dans la base
- Tu mets une colonne de type timestamp : à chaque insertion ou modification cette colonne prend automatiquement la date et heure en cours
exemple :
mysql> create table TABLE1 ( T_ID int not null AUTO_INCREMENT, T_ACCESS_DATE timestamp , primary key (T_ID) );
Query OK, 0 rows affected (0.13 sec)
mysql> insert into TABLE1 values();
Query OK, 1 row affected (0.02 sec)
mysql> select * from TABLE1;
+------+---------------------+
| T_ID | T_ACCESS_DATE |
+------+---------------------+
| 1 | 2006-09-01 08:05:03 |
+------+---------------------+
1 row in set (0.00 sec)