Maison > base de données > tutoriel mysql > Pourquoi MySQL n'accepte-t-il pas toujours CURRENT_DATE/CURDATE() comme valeur par défaut ?

Pourquoi MySQL n'accepte-t-il pas toujours CURRENT_DATE/CURDATE() comme valeur par défaut ?

Barbara Streisand
Libérer: 2024-12-07 11:49:12
original
804 Les gens l'ont consulté

Why Doesn't MySQL Always Accept CURRENT_DATE/CURDATE() as a Default Value?

CURRENT_DATE/CURDATE() Problèmes de valeur par défaut dans MySQL

Un dilemme courant auquel sont confrontés les développeurs consiste à utiliser les fonctions CURRENT_DATE ou CURDATE() comme valeurs par défaut pour les colonnes DATE dans MySQL. Malgré les attentes, ces fonctions ne fonctionnent pas comme prévu.

La raison réside dans les restrictions de MySQL sur les valeurs par défaut. En règle générale, les valeurs par défaut doivent être des constantes et non des fonctions ou des expressions. Par conséquent, définir la valeur par défaut d'une colonne DATE sur NOW() ou CURRENT_DATE échouera.

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)
Copier après la connexion

[Modifier : Prise en charge de CURRENT_DATE/CURDATE() comme valeurs par défaut]

Il convient de noter que la version 8.0.13 de MySQL a introduit la prise en charge de CURRENT_DATE et CURDATE() comme valeurs par défaut pour les colonnes DATE. Cependant, les versions antérieures ne prennent pas en charge cette fonctionnalité.

Exception pour les colonnes TIMESTAMP

Une exception notable à la règle est la possibilité d'utiliser CURRENT_TIMESTAMP comme valeur par défaut pour TIMESTAMP. colonnes, qui est pris en charge par MySQL. Veuillez vous référer à la documentation MySQL pour plus de détails sur cet aspect.

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