Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec 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 27/04/2006, 15h53   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 3
Points : 3
Par défaut [Resolu] Date courante comme valeur par défaut

Bonjour,
Je souhaiterai appliquer à une table (date_ajout) de type DATE la date courante comme valeur par défaut. Ainsi, à chaque enregistrement, sa date de création est sauvegardée automatiquement.
Je peux tout aussi bien passer par une requète dans mon code PHP. Ce n'est pas tellement la méthode utilisée mais le résultat qui m'importe.
Actuellement et malgrès mes essais, la date enregistrée est toujours 0000-00-00

Si vous avez une solution, je suis preneur.
Merci d'avance.
++
joeyinbox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 15h58   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Citation:
The DEFAULT clause specifies a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE. The exception is that you can specify CURRENT_TIMESTAMP as the default for a TIMESTAMP column.
Donc ce n'est pas possible, il faut spécifier la date lors de chaque insertion...

http://dev.mysql.com/doc/refman/5.0/...ate-table.html
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 16h03   #3
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 3
Points : 3
Je suis un débutant et par conséquent, je ne sais trop comment écrire mon code...

J'ai essayé cette requète :

$sql = "INSERT INTO tm (date_ajout)
VALUES ( 'now()') " ;

Mais le résultat est le même
joeyinbox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 16h08   #4
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Tu as délimité la valeur par des simples quotes (') donc MySQL prend ça pour une chaine de caractères. Du coup ne sachant quoi insérer, il met la valeur par défaut à savoir 0000-00-00.

Il faut simplement faire :

Code :
1
2
INSERT  INTO tm (date_ajout)
            VALUES ( CURDATE())
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 16h11   #5
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 3
Points : 3
Effectivement...

Merci beaucoup et bonne fin d'après midi
++
joeyinbox 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 03h01.


 
 
 
 
Partenaires

Hébergement Web