Maison >base de données >tutoriel mysql >Pourquoi MySQL génère-t-il l'erreur 1364 : « Le champ n'a pas de valeur par défaut » et comment puis-je la corriger ?

Pourquoi MySQL génère-t-il l'erreur 1364 : « Le champ n'a pas de valeur par défaut » et comment puis-je la corriger ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-22 03:17:10532parcourir

Why Does MySQL Throw Error 1364:

Erreur MySQL 1364 : le champ n'a pas de valeur par défaut

Lorsque vous rencontrez un message d'erreur "Le champ 'CREATED_BY' n'a pas une valeur par défaut", il est important d'en comprendre la cause profonde. Cette erreur se produit généralement lorsqu'une colonne de tableau n'a pas de valeur par défaut. Dans ce cas, un déclencheur est défini pour renseigner automatiquement le champ "CREATED_BY" avec l'identité de l'utilisateur lors de l'insertion.

Pour résoudre cette erreur, il est crucial de désactiver le mode SQL STRICT_TRANS_TABLES. Ce mode est défini dans le fichier de configuration MySQL (my.ini ou my.cnf). Pour effectuer la modification, localisez le fichier dans votre répertoire d'installation MySQL et modifiez la ligne suivante :

[mysql]
sql-mode = STRICT_TRANS_TABLES

Supprimez STRICT_TRANS_TABLES de la directive sql-mode, comme indiqué ci-dessous :

[mysql]
sql-mode =

Enregistrez les modifications et redémarrez le service MySQL. Cela devrait résoudre l'erreur sans rendre la colonne nullable ni supprimer le déclencheur.

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