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
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.
Pour résoudre ce problème, il est nécessaire de modifier le paramètre du mode MySQL STRICT. Il existe deux solutions possibles :
Changement temporaire : Exécutez la commande suivante dans votre console MySQL :
SET GLOBAL sql_mode='';
Cela désactivera temporairement STRICT mode pour toutes les requêtes ultérieures.
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!