Foreign key not working This is a very basic foreign Key issue, I presume. Unfortunately I am not a dba so it is a bit baffling to me.

I have two tables, Report and Request.

The Report table has a primary key of [RP_ID], and Request has a foreign key for field [RQ_RP_ID]. I can insert a record into the Report Table and it's primary key will have a value of 1. When I then try to enter a record into Request Table and enter the number 1 into field [RQ_RP_ID] I get an error message:


  The INSERT statement conflicted with the FOREIGN KEY constraint
  "FK_REQUEST_REPORT". The conflict occurred in database "THEDATABASE", table "dbo.REPORT", column 'RP_ID'. The statement has been terminated.


From my naive knowledge of what I know about Foreign Keys and what I am using it for is simply to keep my data clean by not allowing a report request to come through my app without a valid report id. if this is not what I thought it was please explain otherwise please explain why it is that this is not working as I expected.

Request Table

SET ANSI_NULLS ON
GO    
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[REQUEST](
    [RQ_ID] [int] IDENTITY(1,1) NOT NULL,
    [RQ_NOTE] [nvarchar](max) NULL,
    [RQ_DATE] [datetime] NOT NULL,
    [RQ_BY] [nvarchar](50) NOT NULL,
    [RQ_TYPE] [nvarchar](50) NOT NULL,
    [RQ_RECORD_ID] [nvarchar](50) NULL,
    [RQ_RP_ID] [int] NOT NULL,
    [RQ_MANAGER] [nvarchar](50) NOT NULL,
    [RQ_RESPONSE_DATE] [datetime] NULL,
    [RQ_RESPONSE_ACTION] [nvarchar](50) NULL,
    [RQ_REPORTING_NAME] [nvarchar](50) NULL,
    [RQ_REPORTING_ACTION] [nvarchar](50) NULL,
    [RQ_IS_CLOSED] [bit] NULL,
    [RQ_CLOSED_DATE] [datetime] NULL,
 CONSTRAINT [PK_REQUEST] PRIMARY KEY CLUSTERED 
(
    [RQ_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[REQUEST]  WITH CHECK ADD  CONSTRAINT [FK_REQUEST_REPORT] FOREIGN KEY([RQ_ID])
REFERENCES [dbo].[REPORT] ([RP_ID])
GO

ALTER TABLE [dbo].[REQUEST] CHECK CONSTRAINT [FK_REQUEST_REPORT]
GO

ALTER TABLE [dbo].[REQUEST] ADD  CONSTRAINT [DF_REQUEST_RQ_DATE]  DEFAULT (getdate()) FOR [RQ_DATE]
GO

ALTER TABLE [dbo].[REQUEST] ADD  CONSTRAINT [DF_REQUEST_RQ_TYPE]  DEFAULT (N'OMISSION') FOR [RQ_TYPE]
GO

ALTER TABLE [dbo].[REQUEST] ADD  CONSTRAINT [DF_REQUEST_RQ_MANAGER]  DEFAULT (N'MANAGER_NOT_FOUND') FOR [RQ_MANAGER]
GO

ALTER TABLE [dbo].[REQUEST] ADD  CONSTRAINT [DF_REQUEST_RQ_IS_CLOSED]  DEFAULT ((0)) FOR [RQ_IS_CLOSED]
GO


Report Table

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[REPORT](
    [RP_ID] [int] IDENTITY(1,1) NOT NULL,
    [RP_NAME] [nvarchar](50) NOT NULL,
    [RP_SHORT_DESCRIPTION] [nvarchar](200) NOT NULL,
    [RP_FULL_DESCRIPTION] [nvarchar](max) NOT NULL,
    [RP_IS_ACTIVE] [bit] NOT NULL,
    [RP_DATE_CREATED] [datetime] NOT NULL,
    [RP_DATE_DISCONTINUED] [datetime] NULL,
    [RP_REQUESTED_BY] [nvarchar](50) NOT NULL,
    [RP_IS_PDP_SPECIFIC] [bit] NOT NULL,
 CONSTRAINT [PK_REPORT] PRIMARY KEY CLUSTERED 
(
    [RP_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[REPORT] ADD  CONSTRAINT [DF_REPORT_RP_IS_ACTIVE]  DEFAULT ((1)) FOR [RP_IS_ACTIVE]
GO

ALTER TABLE [dbo].[REPORT] ADD  CONSTRAINT [DF_REPORT_RP_DATE_CREATED]  DEFAULT (getdate()) FOR [RP_DATE_CREATED]
GO

ALTER TABLE [dbo].[REPORT] ADD  CONSTRAINT [DF_REPORT_RP_REQUESTED_BY]  DEFAULT (N'SOMENAME') FOR [RP_REQUESTED_BY]
GO

ALTER TABLE [dbo].[REPORT] ADD  CONSTRAINT [DF_Table_3_RP_PDP_SPECIFIC]  DEFAULT ((0)) FOR [RP_IS_PDP_SPECIFIC]
GO
Fixed it I just noticed the SQL Management Studio did something crazy and assigned the foreign key to itself 

I corrected with this 

ALTER TABLE [dbo].[REQUEST]  WITH CHECK ADD  CONSTRAINT [FK_REQUEST_REPORT] FOREIGN KEY([RQ_RP_ID])
REFERENCES [dbo].[REPORT] ([RP_ID])
GO