problème clé étrangère en null
	
	
		bonjour,
J'ai un problème avec ma base de données... j'ai (entre autres) une table équipement et contrat où un contrat peu avoir 1 ou plusieurs équipements et ou un équipement à 0 ou 1 contrat.
Je dois donc normalement avoir une clé étrangère num_contrat dans équipement (valeur null) qui permet de me dire que si l'équipement est contractualisé ou non. 
Seulement quand j'entre mes données j'ai cette erreur : " Conflit entre l'instruction INSERT et la contrainte COLUMN FOREIGN KEY 'FK_EQUIPMENT_CONTRAT". Le conflit est survenu dans la base de données XXXX, table contrat column "num_contrat".
Est ce dû au fait que dans la table contrat num_contrat est en not null ?
ps : je rentre mes données en faisant un clic droit ouvrir sur ma table dans analyseur de requettes....  :roll: 
Merci de votre aide...
Code généré par sql Serveur
CREATE TABLE [A377].[CONTRAT] (
	[NUM_CONTRAT] [char] (5) COLLATE French_CI_AS NOT NULL ,
	[NUM_CENTRE] [char] (5) COLLATE French_CI_AS NOT NULL ,
	[NUM_CLIENT] [char] (5) COLLATE French_CI_AS NOT NULL ,
	[DATE_RESILIATION] [datetime] NULL ,
	[DATE_RECONDUCTION] [datetime] NULL ,
	[MONTANT_CONTRAT] [decimal](9, 2) NULL ,
	[DATE_CONTRAT] [datetime] NULL ,
	[ETAT_CTR] [numeric](1, 0) NOT NULL 
) ON [PRIMARY]
GO
/****** Objet :  Table [A377].[EQUIPEMENT]    Date du script : 19/08/2004 09:38:34 ******/
CREATE TABLE [A377].[EQUIPEMENT] (
	[NUM_MODELE] [char] (7) COLLATE French_CI_AS NOT NULL ,
	[NUM_CENTRE] [char] (5) COLLATE French_CI_AS NOT NULL ,
	[NUM_SERIE] [char] (10) COLLATE French_CI_AS NOT NULL ,
	[PERIODICITE] [numeric](3, 0) NULL ,
	[LIB_EQUIPEMENT] [char] (30) COLLATE French_CI_AS NULL ,
	[PLANIFICATON] [datetime] NULL ,
	[NUM_CONTRAT] [char] (5) COLLATE French_CI_AS NULL 
) ON [PRIMARY]
GO
ALTER TABLE [A377].[CONTRAT] WITH NOCHECK ADD 
	CONSTRAINT [DF__CONTRAT__ETAT_CT__01142BA1] DEFAULT ('0') FOR [ETAT_CTR],
	CONSTRAINT [PK_CONTRAT] PRIMARY KEY  CLUSTERED 
	(
		[NUM_CONTRAT]
	)  ON [PRIMARY] 
GO
ALTER TABLE [A377].[EQUIPEMENT] WITH NOCHECK ADD 
	CONSTRAINT [DF__EQUIPEMEN__NUM_C__7F2BE32F] DEFAULT ('0000') FOR [NUM_CONTRAT],
	CONSTRAINT [PK_EQUIPEMENT] PRIMARY KEY  CLUSTERED 
	(
		[NUM_SERIE]
	)  ON [PRIMARY] 
GO
ALTER TABLE [A377].[CONTRAT] ADD 
	CONSTRAINT [FK_CONTRAT_CONCERNE_CENTRE_I] FOREIGN KEY 
	(
		[NUM_CENTRE]
	) REFERENCES [A377].[CENTRE_INFO] (
		[NUM_CENTRE]
	),
	CONSTRAINT [FK_CONTRAT_SIGNE_CLIENT] FOREIGN KEY 
	(
		[NUM_CLIENT]
	) REFERENCES [A377].[CLIENT] (
		[NUM_CLIENT]
	)
GO
ALTER TABLE [A377].[EQUIPEMENT] ADD 
	CONSTRAINT [FK_EQUIPEME_CIF_4_MODELE] FOREIGN KEY 
	(
		[NUM_MODELE]
	) REFERENCES [A377].[MODELE] (
		[NUM_MODELE]
	),
	CONSTRAINT [FK_EQUIPEME_CIF_5_CENTRE_I] FOREIGN KEY 
	(
		[NUM_CENTRE]
	) REFERENCES [A377].[CENTRE_INFO] (
		[NUM_CENTRE]
	),
	CONSTRAINT [FK_EQUIPMENT_CONTRAT] FOREIGN KEY 
	(
		[NUM_CONTRAT]
	) REFERENCES [A377].[CONTRAT] (
		[NUM_CONTRAT]
	)
GO
	 
	
	
	
		Re: problème clé étrangère en null
	
	
		Slt,
A prioris ton Pb vient de la ligne suivante:
	Citation:
	
		
		
			
				Envoyé par maysa
				
			
			ALTER TABLE [A377].[EQUIPEMENT] WITH NOCHECK ADD 
	CONSTRAINT [DF__EQUIPEMEN__NUM_C__7F2BE32F] DEFAULT ('0000') FOR [NUM_CONTRAT],
			
		
	 
 En effet tu as mis une valeur par default '0000' dans ta table Equipement.
Mais est-ce que cette valeur existe dans ta table CONTRAT?
Enlève ta valeur par defaut et le pb est réglé ou crée la valeur '0000'.
@+
 8)