Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/09/2006, 00h25   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 52
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 52
Points : 7
Points : 7
Par défaut 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
Xris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2006, 08h27   #2
Membre régulier
 
Avatar de jp_rennes
 
Inscription : mars 2006
Messages : 72
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mars 2006
Messages : 72
Points : 83
Points : 83
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)
jp_rennes est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h36.


 
 
 
 
Partenaires

Hébergement Web