Bonjour,

J'ai une petite question... Vous mettriez une clé étrangère sur un champs qui peut être vide vous?

Exemple: j'ai une liste de pays du monde codés sur 3 caractères. J'enregistre un client en lui demandant sa nationalité et sur le champs nationalité j'ai mis une clé étrangère pour vérifier que ce soit uniquement un code de 3 caractère correspondant à un pays qu'on mette dans ce champs.
J'ai fait la même chose pour le champs "double nationalité". En effet je demande au client s'il a une double nationalité, ce qui est rare mais arrive...
Le champs "nationalité" est obligatoire tandis que le champs "double nationalité" est optionnel dans le formulaire. Donc dans la base de données le champs "nationalité" est not NULL tandis que l'autre peut-être NULL.
J'obtiens une erreur lorsque j'essaye d'enregistrer un client qui n'a qu'une nationalité car "" ne fait pas partie des valeurs des index de ma table de pays.

Du coup j'ai supprimé ma clé étrangère pour le champs "double nationalité". Est ce que j'ai raison parce que c'est une erreur de ma part d'avoir voulu mettre une clé étrangère sur un champs pouvant être nul ou est ce qu'il y aurait un moyen pour faire cohabiter clé étrangère et possibilité d'une valeur nulle?

Merci pour votre aide!