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 )
[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!