2014-06-22 4 views
0

Ceci est un problème intéressant, quand j'insérer explicitement une valeur NULL dans la base de données pour la colonne smuId:Quand est une valeur nulle non nulle, quand il est dans le contexte

INSERT [tblTyreHistory] 
(
    [changetype], [datechanged], [fitterid],[isfitted], 
    [position], [reason],[MachineId], [rimid], [tyreid], [userid], [smuId] 
) 
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86,NULL) 

L'insert fonctionne comme prévu. Cependant, si je quitte la colonne smuId de l'insert je reçois une contrainte de clé étrangère:

INSERT [tblTyreHistory] 
(
    [changetype], [datechanged], [fitterid],[isfitted], 
    [position], [reason],[MachineId], [rimid], [tyreid], [userid] 
) 
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86) 

Ceci est l'origine du problème:

L'instruction INSERT en conflit avec la contrainte FOREIGN KEY « FK_tblTyreHistory_tblSmu » . Le conflit s'est produit dans la base de données "myDB", table "dbo.tblSmutable", colonne "id".

Quelqu'un a-t-il des idées?

+3

La valeur par défaut de 'smuId' n'est probablement pas' NULL'. –

Répondre

4

Peut-être si vous avez une valeur par défaut spécifiée pour la colonne smuId qui n'est pas là dans tblSmutable? Cela entraînera smuId à remplir la valeur par défaut au lieu de NULL et donnera une erreur.

Questions connexes