Très probablement, c'est un problème de programmation. Si vous regardez cette réponse ici sur la façon dont les valeurs NULL sont passées, vous pourriez facilement provoquer un comportement indésirable si vous étiez "Mr. Null".
https://stackoverflow.com/questions/4620391/mysql-and-php-insert-null-rather-than-empty-string
Vous pouvez voir que si certains éléments de données étaient passés en tant que NULL, les données seraient interpolées en tant que base de données null dans la base de données.
"NULL"! = Base de données Null
Quelques cas d'utilisation et comportements associés ...
Supposons que le nom de famille a été marqué dans la base de données comme non nul. Désormais, lorsque les données sont insérées, elles seront interprétées comme des valeurs NULL et l'échec de l'insertion.
Un autre cas est, disons, que le nom de famille était nul dans la base de données. M. NULL est inséré et est transformé en DBNull.Value qui n'est pas la même chose que "NULL". Après l'insertion, nous ne pouvons pas trouver M. Null car son nom de famille n'est pas "NULL" mais en réalité une valeur nulle de la base de données.
Donc, ce serait 2 cas de problèmes. Comme @Amon le fait remarquer, les bases de données elles-mêmes ne posent aucun problème avec les valeurs NULL, bien qu'il faille comprendre comment les valeurs NULL sont gérées dans chaque instance RDMS car il y aura des différences entre différents fournisseurs.