Ik heb twee tabellen, waarvan er een bestaat uit een koppeltabel met drie foreign keys (die ook weer refereren naar andere tabellen, niet getoond), die tesamen een primary key vormen:
Naar die tabel wordt gerefereerd naar de onderstaande tabel door de drie matchende velden:
Maar iedere keer als ik die constraint probeer te leggen, krijg ik een error "The columns in table 'ProjectEmployeeRole' do not match an existing primary key or UNIQUE constraint.'.
Naar mijn idee zijn de velden in ProjectEmployeeRole gewoon afgedwongen uniek, dus wat gaat er mis?
SQL:
1
2
3
4
5
6
7
8
9
10
11
| CREATE TABLE [dbo].[ProjectEmployeeRole]( [PERProjectId] [int] NOT NULL, [PEREmployeeId] [int] NOT NULL, [PERProjectRoleId] [int] NOT NULL, CONSTRAINT [PK_ProjectEmployeeRole] PRIMARY KEY CLUSTERED ( [PERProjectId] ASC, [PEREmployeeId] ASC, [PERProjectRoleId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] |
Naar die tabel wordt gerefereerd naar de onderstaande tabel door de drie matchende velden:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| CREATE TABLE [dbo].[ProjectEmployeeHourrateHistory]( [PEHEmployeeId] [int] NOT NULL, [PEHProjectId] [int] NOT NULL, [PEHHourrate] [money] NOT NULL, [PEHStart] [datetime] NOT NULL, [PEHProjectRoleId] [int] NULL, [PEHTravelExpensesPaidPerKilometer] [money] NULL, [PEHAreTravelHoursPaid] [bit] NOT NULL, CONSTRAINT [PK_ConsultantProjectHourrateHistory] PRIMARY KEY CLUSTERED ( [PEHEmployeeId] ASC, [PEHProjectId] ASC, [PEHStart] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] |
Maar iedere keer als ik die constraint probeer te leggen, krijg ik een error "The columns in table 'ProjectEmployeeRole' do not match an existing primary key or UNIQUE constraint.'.
Naar mijn idee zijn de velden in ProjectEmployeeRole gewoon afgedwongen uniek, dus wat gaat er mis?
iOS developer