Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur « Valeur par défaut non valide pour « created_at » » dans MySQL ?

Pourquoi est-ce que j'obtiens une erreur « Valeur par défaut non valide pour « created_at » » dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 08:02:13232parcourir

Why Am I Getting an

Valeur par défaut non valide pour l'erreur 'created_at' dans MySQL

Lors de la tentative de modification d'une table, le message d'erreur suivant apparaît :

ERROR 1067 (42000): Invalid default value for 'created_at'

Cette erreur se produit généralement lors de la modification de la colonne d'horodatage, mais dans ce cas, elle se produit lors de l'ajout d'une nouvelle colonne. La table concernée comporte les colonnes 'created_at' et 'updated_at' comme deux dernières entrées.

Résolution

La cause de cette erreur réside dans les paramètres du mode SQL. Pour résoudre le problème, vérifiez le mode SQL actuel à l'aide de la commande :

show variables like 'sql_mode' ; 

Si le mode SQL inclut "NO_ZERO_IN_DATE,NO_ZERO_DATE", supprimez ces paramètres pour résoudre le problème. Ces paramètres sont ceux par défaut dans les versions plus récentes de MySQL.

En tant qu'utilisateur root, vous pouvez modifier le mode SQL globalement à l'aide de la commande :

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

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!

Déclaration:
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