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!