22

Ich möchte einen Fremdschlüssel zwischen 2 Tabellen, also versuche ich es wie immer. Jetzt ist das Problem, das ich habe, ist er schafft nicht, und durch das Aussehen es schafft es nicht, weil es bereits einen Schlüssel gibt, aber es gibt nicht.Fremdschlüssel erstellt nicht

- Unable to create relationship 
'FK_tbl_Paramed_RegistratieBehandelingen_Users'. 
    The ALTER TABLE statement conflicted with the 
    FOREIGN KEY constraint "FK_tbl_Paramed_RegistratieBehandelingen_Users". 
    The conflict occurred in database "Nestor_Server", 
    table "dbo.Users", column 'UserID'. 

Ive überprüft, ob sie die gleiche Art haben, sie tun (bigint) so nicht bekommen, warum er nicht schaffen es

Antwort

48

Es ist möglich, dass Sie Datensätze in RegistratieBehandelingen haben (Nicht sicher der Tabellenname), der in der Benutzertabelle nicht vorhanden ist.

select * from RegistratieBehandelingen a where UserID IS NULL or 
not exists (select 1 from Users b where b.UserID= a.UserID) 
+1

Ja, ein Nullwert ist durch die Netze gerutscht, es scheint, dass es so weiter versagt. Danke –

+0

Genau. Ich hatte gerade das gleiche Problem. Um zu testen, ob dies der Fall ist, versuchen Sie, den Fremdschlüssel mit "NO CHECK" zu erstellen. Dadurch wird der Schlüssel erstellt, aber er wird nicht umfallen, wenn die vorhandenen Daten nicht mit der genauen Fremdschlüsselregel übereinstimmen, die Sie erstellen möchten. –

11

Dies bedeutet, dass Sie Kinddaten ohne übereinstimmende Eltern-ID haben.

Führen Sie den folgenden, um zu sehen, wenn Sie irgendwelche Ergebnisse erhalten:

SELECT * 
FROM tbl_Paramed_RegistratieBehandelingen r 
LEFT JOIN Users u on r.UserID = u.UserID 
WHERE u.UserID IS NULL 

(Ändern Tabellen- und Spaltennamen gegebenenfalls)

Wenn Sie irgendwelche Ergebnisse erhalten, dann sollte es zeigen, welche Datensätze enthält UserIDs, dass Don nicht zu Benutzern passen.

0

Nach der obigen Abfrage möchten Sie eventuell nicht vorhandene UserId aus der Tabelle tbl_Paramed_RegistratieBehandelingen löschen oder in die Tabelle Benutzer einfügen.

Verwandte Themen