CSV n'a pas de concept de "Nulls". Il est impossible de faire la différence entre un champ qui est nul et un champ qui a une valeur légitimement vide (par exemple, une chaîne vide). Vous devrez masser les lignes au fur et à mesure que vous les chargez avant l'insertion de la requête, pour remplacer toutes les "chaînes vides" par les valeurs NULL appropriées
ex.
$row = fgetcsv(...);
$row[0] = 'NULL';