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

Pourquoi est-ce que j'obtiens l'erreur MySQL 1364 : le champ n'a pas de valeur par défaut ?

DDD
DDDoriginal
2024-11-06 11:49:02618parcourir

Why Am I Getting MySQL Error 1364: Field Lacks Default Value?

Dépannage de l'erreur MySQL 1364 : le champ manque de valeur par défaut

Lors de la transition de MAMP vers un environnement MySQL natif, vous pouvez rencontrer une erreur liée à valeurs par défaut manquantes dans les champs lors de l'exécution des commandes INSERT. Ce problème concerne le mode strict de MySQL, en particulier dans son paramètre STRICT_ALL_TABLES.

Cause :

Lorsque MySQL fonctionne en mode strict, il impose le strict respect des règles et de l'intégrité de la base de données. , notamment en interdisant les valeurs nulles ou vides pour les champs sans valeurs par défaut.

Résolution :

Pour résoudre ce problème, vous pouvez désactiver le mode strict en exécutant la commande suivante :

<code class="sql">SET GLOBAL sql_mode=''</code>

Vous pouvez également modifier votre fichier de configuration my.cnf pour vous assurer que STRICT_ALL_TABLES n'est pas défini :

  1. Ouvrez le fichier my.cnf pour votre installation MySQL.
  2. Localisez la section [mysqld].
  3. Vérifiez s'il y a une ligne qui dit :

    sql_mode = STRICT_ALL_TABLES
  4. S'il existe, commentez-le en ajoutant un # au début de la ligne.
  5. Enregistrez et fermez le fichier my.cnf.

Après avoir effectué ces modifications, redémarrez le service MySQL pour appliquer les nouveaux paramètres. Vos commandes INSERT devraient maintenant s'exécuter avec succès sans rencontrer l'erreur concernant les valeurs par défaut manquantes.

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