Maison >base de données >tutoriel mysql >Comment définir les valeurs par défaut pour les colonnes DATETIME dans MySQL ?

Comment définir les valeurs par défaut pour les colonnes DATETIME dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-17 20:55:15484parcourir

How to Set Default Values for DATETIME Columns in MySQL?

Définition de valeurs par défaut pour les colonnes Datetime dans MySQL

Dans MySQL, la définition d'une valeur par défaut pour une colonne Datetime diffère de getdate() de SQL Server fonction.

Les versions MySQL antérieures à 5.6.5 n'autorisent pas les valeurs par défaut pour les champs DATETIME. Cependant, vous pouvez utiliser TIMESTAMP à la place :

CREATE TABLE test (
  str VARCHAR(32),
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

L'insertion d'une ligne sans spécifier d'horodatage la remplira automatiquement avec l'heure actuelle :

INSERT INTO test (str) VALUES ('demo');

Attention : L'utilisation de CURRENT_TIMESTAMP par défaut peut entraîner un comportement inattendu lors des mises à jour. Pour conserver l'horodatage d'origine, vous devez définir explicitement la colonne sur sa valeur actuelle :

UPDATE test SET ts = ts;

MySQL 5.6.5 et versions ultérieures

MySQL 5.6.5 introduit la prise en charge pour les valeurs par défaut des champs DATETIME :

CREATE TABLE test2 (
  str VARCHAR(32),
  dt DATETIME DEFAULT '2000-01-01 00:00:00'
);

Cette méthode est préférable à l'utilisation de TIMESTAMP pour la configuration valeurs par défaut pour les colonnes datetime.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn