Maison > base de données > tutoriel mysql > Pourquoi l'ajout d'une colonne entraîne-t-il une erreur « Valeur par défaut non valide pour « created_at » » dans MySQL ?

Pourquoi l'ajout d'une colonne entraîne-t-il une erreur « Valeur par défaut non valide pour « created_at » » dans MySQL ?

DDD
Libérer: 2024-12-02 11:48:10
original
952 Les gens l'ont consulté

Why Does Adding a Column Result in an

Valeur par défaut non valide pour Created_At

Problème :

Lors de la tentative de modification d'une table en en ajoutant une nouvelle colonne, vous rencontrez une erreur :

ERROR 1067 (42000): Invalid default value for 'created_at'
Copier après la connexion

bien que vous n'en ayez modifié aucune colonnes d'horodatage.

Solution :

L'erreur provient de sql_modes. Pour le résoudre :

  1. Vérifiez les modes SQL :
show variables like 'sql_mode' ;
Copier après la connexion
  1. Désactivez les modes problématiques :

Supprimez les modes suivants de sql_mode :

NO_ZERO_IN_DATE
NO_ZERO_DATE
Copier après la connexion

Ces modes sont présents par défaut dans les versions plus récentes de MySQL.

Paramètre global :

Pour un changement à l'échelle du système, exécutez ce qui suit en tant que root :

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Copier après la connexion

Supplémentaire Notes :

  • La nouvelle colonne peut maintenant être ajoutée sans déclencher l'erreur.
  • Si vous souhaitez utiliser la valeur par défaut NOT NULL pour Create_at, vous pouvez la spécifier explicitement :
ALTER TABLE investments ADD bank TEXT DEFAULT NOT NULL;
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal