Maison > base de données > tutoriel mysql > Comment puis-je définir NOW() comme valeur par défaut pour une colonne DateTime dans MySQL ?

Comment puis-je définir NOW() comme valeur par défaut pour une colonne DateTime dans MySQL ?

Susan Sarandon
Libérer: 2025-01-03 13:59:41
original
574 Les gens l'ont consulté

How Can I Set NOW() as the Default Value for a DateTime Column in MySQL?

Définir NOW() comme valeur par défaut pour le type de données Datetime

Lors de la création de tables de base de données, il peut être avantageux de définir des valeurs par défaut pour les colonnes assurer une saisie cohérente des données. Pour les types de données datetime, il est souvent souhaitable d'utiliser l'heure actuelle comme valeur par défaut.

Défi de modification de table existante

Dans MySQL, définir une valeur par défaut de MAINTENANT () pour une colonne datetime existante peut être difficile. Le message d'erreur rencontré lors de la tentative de définition de la valeur par défaut sur NOW() indique qu'il s'agit d'une valeur par défaut non valide.

Solution pour MySQL 5.6.5 et supérieur

Heureusement, MySQL 5.6.5 introduit le type de données DATETIME, qui permet des valeurs dynamiques par défaut. Pour définir la valeur par défaut sur NOW() lors de la création de la table, utilisez la syntaxe suivante :

CREATE TABLE users (
    registerDate DATETIME DEFAULT CURRENT_TIMESTAMP
)
Copier après la connexion

Solution antérieure à MySQL 5.6.5

Pour les versions MySQL avant 5.6.5, le type de données TIMESTAMP doit être utilisé pour mettre à jour automatiquement la valeur datetime lors de la modification de l'enregistrement. Cependant, il convient de noter qu'un seul champ TIMESTAMP mis à jour automatiquement peut exister par table.

CREATE TABLE users (
    registerDate TIMESTAMP
)
Copier après la connexion

Pour éviter que la valeur de l'horodatage ne soit mise à jour lors de UPDATE, ajoutez DEFAULT CURRENT_TIMESTAMP à la définition du champ TIMESTAMP :

CREATE TABLE users (
    registerDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal