wake-up-neo.com

Fremdschlüssel kann nicht erstellt werden

Ich möchte einen Fremdschlüssel zwischen zwei Tabellen, also versuche ich es wie immer. Jetzt ist das Problem, das ich habe, er schafft es nicht zu erstellen, und so wie es aussieht, kann es nicht erstellt werden, weil es bereits einen Schlüssel gibt, aber es gibt keinen.

- 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'.

Ich habe überprüft, ob sie den gleichen Typ haben (bigint). Verstehen Sie also nicht, warum er ihn nicht erstellt

24
Nicolas Pierre

Möglicherweise verfügen Sie über Datensätze in RegistratieBehandelingen (nicht sicher über den Tabellennamen), die in der Benutzertabelle nicht vorhanden sind.

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

Dies bedeutet, dass Sie über untergeordnete Daten ohne übereinstimmende übergeordnete ID verfügen.

Führen Sie die folgenden Schritte aus, um zu sehen, ob Sie Ergebnisse erhalten:

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

(Ändern von Tabellen- und Spaltennamen, falls zutreffend)

Wenn Sie Ergebnisse erhalten, sollte angezeigt werden, welche Datensätze UserIDs enthalten, die nicht mit Benutzern übereinstimmen.

11
cjk

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

0
konkass