Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi est-ce que je reçois l'erreur « Le champ n'a pas de valeur par défaut » en mode MySQL STRICT ?

Susan Sarandon
Libérer: 2024-11-05 12:40:02
original
916 Les gens l'ont consulté

Why am I getting the

Erreur du mode MySQL STRICT : 1364 « Le champ n'a pas de valeur par défaut »

Dans une récente migration de MAMP vers Apache, MySQL et PHP, exécution de commandes INSERT a soudainement entraîné l'erreur suivante :

SQLSTATE[HY000]: General error: 1364 Field 'display_name' doesn't have a default value
Copier après la connexion

Ce problème est survenu en raison d'un changement dans le comportement par défaut de MySQL. Dans MySQL version 5.6.13, le mode STRICT est souvent activé, ce qui applique des règles plus strictes pour la validation des données. Par conséquent, les champs sans valeurs par défaut ne peuvent plus être laissés vides lors de l'insertion.

Résolution

Pour résoudre ce problème, il est nécessaire de modifier le paramètre du mode MySQL STRICT. Il existe deux solutions possibles :

  1. Changement temporaire : Exécutez la commande suivante dans votre console MySQL :

    SET GLOBAL sql_mode='';
    Copier après la connexion

    Cela désactivera temporairement STRICT mode pour toutes les requêtes ultérieures.

  2. Changement permanent : Modifiez votre fichier de configuration MySQL (my.cnf). Localisez le paramètre sql_mode et vérifiez que STRICT_ALL_TABLES ou toute autre option de mode strict n'est pas présente. Si vous les trouvez, commentez ou supprimez ces options.

Après avoir effectué l'une de ces modifications, redémarrez le serveur MySQL et les commandes INSERT devraient s'exécuter avec succès sans l'erreur "Le champ n'a pas de valeur par défaut". .

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal