Maison >base de données >tutoriel mysql >Comment corriger l'erreur MySQL 1364 : « Le champ n'a pas de valeur par défaut » ?

Comment corriger l'erreur MySQL 1364 : « Le champ n'a pas de valeur par défaut » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-28 18:49:11687parcourir

How to Fix MySQL Error 1364:

Erreur MySQL 1364 : résolution du message "Le champ n'a pas de valeurs par défaut"

Lorsque vous tentez une insertion dans une table MySQL, vous pouvez rencontrez le message d'erreur "Le champ 'CREATED_BY' n'a pas de valeur par défaut" (Erreur 1364). Ce problème survient lorsqu'un champ de table est défini avec une contrainte NOT NULL mais n'a pas de valeur par défaut et qu'une tentative d'insertion ne spécifie pas explicitement de valeur pour ce champ.

Pour résoudre cette erreur, vous disposez des options suivantes :

  • Désactiver STRICT_TRANS_TABLES SQL Mode :

    • Accédez au fichier de configuration MySQL (%PROGRAMDATA%MySQLMySQL Server 5.6my.ini)
    • Localisez la ligne contenant "sql-mode=STRICT_TRANS_TABLES"
    • Supprimer cette ligne ou remplacer "sql-mode=STRICT_TRANS_TABLES" avec une chaîne vide
    • Redémarrez MySQL
  • Vérifiez les emplacements alternatifs des fichiers de configuration :

    • Si la modification du fichier de configuration susmentionné ne résout pas le problème, examinez ces potentiels supplémentaires emplacements :

      • /etc/my.cnf
      • /etc/mysql/my.cnf
      • ~/.my.cnf
  • Spécifier explicitement les valeurs de champ dans l'insertion Déclaration :

    • Si les méthodes susmentionnées ne conviennent pas, spécifiez explicitement les valeurs de tous les champs non nullables dans votre instruction d'insertion, par exemple :

      insert into try (name, CREATED_BY) values ('abc', 'admin');

Remarque : Il n'est pas recommandé de rendre le champ nullable ou supprimez le déclencheur pour supprimer cette erreur. Ces solutions compromettent l'intégrité des données et peuvent entraîner des problèmes avec d'autres applications.

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