Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens l'erreur MySQL 'Le champ \'display_name\' n'a pas de valeur par défaut\' ?

Pourquoi est-ce que j'obtiens l'erreur MySQL 'Le champ \'display_name\' n'a pas de valeur par défaut\' ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 02:32:301027parcourir

Why am I Getting the

Erreur MySql : "Le champ 'display_name' n'a pas de valeur par défaut" Résolu

Lors de la migration d'une installation MAMP vers un Apache natif , MySql et PHP, une erreur MySql 1364 est apparue, indiquant l'absence de valeur par défaut pour le champ 'display_name'. Ce problème est survenu lors des commandes INSERT, apparemment en raison de l'impossibilité de laisser le champ vide comme c'était auparavant possible.

Identifier la cause profonde

La cause fondamentale de ce problème réside dans le mode STRICT potentiel de MySql. Dans ce mode strict, la base de données impose l'attribution de valeurs par défaut ou de valeurs non nulles à toutes les colonnes, interdisant l'insertion d'entrées vides.

Résoudre le problème

Pour remédier à cette situation, il existe deux approches principales :

  1. Désactivation du mode STRICT :

    Exécuter la commande SQL :

    <code class="sql">SET GLOBAL sql_mode=''</code>
  2. Modification de my.cnf :

    a. Accédez au fichier my.cnf, généralement situé dans /etc/mysql/ .
    b. Localisez ou ajoutez la ligne suivante :

    sql_mode=

    c. Redémarrez le service MySQL.

Considérations supplémentaires

  • Si aucune des deux approches ne résout le problème, recherchez les contraintes au niveau de la table ou de la colonne qui pourraient empêcher les valeurs nulles.
  • Assurez-vous que l'utilisateur de la base de données dispose de privilèges suffisants pour insérer des données dans la table en question.
  • Vérifiez que la définition de la colonne inclut une valeur par défaut ou autorise les valeurs nulles.

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