Maison > base de données > tutoriel mysql > Pourquoi ne puis-je pas définir CURRENT_DATE comme valeur par défaut pour une colonne MySQL DATE ?

Pourquoi ne puis-je pas définir CURRENT_DATE comme valeur par défaut pour une colonne MySQL DATE ?

Patricia Arquette
Libérer: 2024-12-16 13:16:11
original
416 Les gens l'ont consulté

Why Can't I Set CURRENT_DATE as the Default Value for a MySQL DATE Column?

Cuzzle de la valeur par défaut CURRENT_DATE

Dans MySQL, tenter de définir la valeur par défaut d'une colonne DATE sur CURDATE() ou CURRENT_DATE peut sembler un choix intuitif. Cependant, en essayant de créer une telle table, cela ne fonctionne pas. Cette question explique pourquoi ce comportement se produit.

Le coupable réside dans les limitations de la clause DEFAULT de MySQL. Comme expliqué dans la documentation officielle :

"La clause DEFAULT spécifie une valeur par défaut pour une colonne. À une exception près, la valeur par défaut doit être une constante ; elle ne peut pas être une fonction ou une expression."

Par conséquent, attribuer CURRENT_DATE, qui est une fonction qui récupère la date actuelle, comme valeur par défaut pour une colonne DATE n'est pas pris en charge.

L'exception

L'exception à cette règle est le type de colonne CURRENT_TIMESTAMP. Pour une colonne TIMESTAMP, vous pouvez spécifier CURRENT_TIMESTAMP comme valeur par défaut pour remplir automatiquement la colonne avec la date et l'heure actuelles.

Solution de contournement

Si vous souhaitez conserver la date et heure actuelles dans une colonne DATE, vous pouvez utiliser un déclencheur pour mettre à jour automatiquement le champ lors des opérations d'insertion et de mise à jour.

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