Marqueurs de temp MySQL (TIMESTAMP)

MySQL

MySQL dispose d'un type TIMESTAMP qui permet d'enregistrer la date et l'heure de création ou de modification d'un enregistrement.

Date et heure de création d'un enregistrement

Si on veut enregistrer la date et l'heure de création de l'enregistrement, on peut utiliser la constante "magique" CURRENT_TIMESTAMP comme valeur par défaut de la colonne TIMESTAMP.

ALTER TABLE `ma_table` 
  ADD `created_on` TIMESTAMP NOT NULL 
  DEFAULT CURRENT_TIMESTAMP

Date et heure de modification d'un enregistrement

Si on veut la date et l'heure de la dernière modification, on ajoutera l'attribut ON UPDATE CURRENT_TIMESTAMP à la colonne.

ALTER TABLE `ma_table` 
  ADD `updated_on` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
  DEFAULT CURRENT_TIMESTAMP 

Les deux à la fois

Malheureusement, la constante CURRENT_TIMESTAMP ne peut être utilisée qu'une seule fois dans une table. On doit donc utiliser une valeur nulle ('0000-00-00 00:00:00') pour la valeur par défaut de la colonne created_on et utiliser la fonction NOW() lorsqu'on insère les données.

ALTER TABLE `ma_table` 
  ADD `created_on` TIMESTAMP NOT NULL
  DEFAULT '0000-00-00 00:00:00';
ALTER TABLE `ma_table` 
  ADD `updated_on` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL 
  DEFAULT CURRENT_TIMESTAMP;
INSERT INTO `ma_table` (`created_on`) VALUES (NOW());

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement. If you have a Gravatar account, used to display your avatar.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].

Plus d'informations sur les options de formatage

CAPTCHA
La vérification ne tient pas compte des minuscules ou des majuscules.
Image CAPTCHA
Enter the characters shown in the image.