Najprawdopodobniej jest to problem programistyczny. Jeśli spojrzysz na tę odpowiedź tutaj, w jaki sposób przekazywane są wartości NULL, możesz łatwo wywołać niepożądane zachowanie, jeśli jesteś „Panem Null”.
https://stackoverflow.com/questions/4620391/mysql-and-php-insert-null-rather-than-empty-string
Widać, że jeśli jakiś element danych zostałby przekazany jako NULL, dane byłyby interpolowane jako baza danych null w bazie danych.
„NULL”! = Baza danych Null
Niektóre przypadki użycia i powiązane zachowania ...
Powiedzmy, że nazwisko zostało zaznaczone w bazie danych jako nie puste, teraz po wstawieniu danych zostanie zinterpretowane jako NULL i wstawienie nie powiedzie się.
Innym przypadkiem jest powiedzmy, że nazwisko było zerowalne w bazie danych. Pan NULL został wstawiony i przekształcony w DBNull.Value, który nie jest tym samym co „NULL”. Po wstawce nie możemy znaleźć Pana Null, ponieważ jego nazwisko nie brzmi „NULL”, ale w rzeczywistości jest to wartość zerowa bazy danych.
Byłyby to więc 2 przypadki problemów. Jak wskazuje @Amon, same bazy danych nie mają problemów z wartościami zerowymi, chociaż należy zrozumieć, jak obsługiwane są wartości zerowe w każdej instancji RDMS, ponieważ będą istnieć różnice między różnymi dostawcami.