Mysql
 sql >> Base de données >  >> RDS >> Mysql

Chaîne vide insérant un zéro, pas un null

MySQL par défaut tente de contraindre les valeurs non valides d'une colonne au type correct. Ici, la chaîne vide '' est de type chaîne, qui n'est ni un entier ni NULL. Je suggère de suivre les étapes suivantes :

  1. Remplacez la requête par la suivante :INSERT INTO foo (bar) VALUES (NULL);
  2. Activer le mode strict dans MySQL. Cela évite autant de conversions inattendues de type et de valeur. Vous verrez plus de messages d'erreur lorsque vous essayez de faire quelque chose que MySQL n'attend pas, ce qui vous aide à repérer les problèmes plus rapidement.