Подтвердить что ты не робот

Внешний ключ не может создать

Мне нужен внешний ключ между двумя таблицами, поэтому я стараюсь, как всегда. Теперь проблема заключается в том, что он не создает, и по внешнему виду он не создается, потому что уже есть ключ, но не существует.

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

Я проверял, имеют ли они одинаковый тип, они делают (bigint), поэтому не понимаю, почему он не будет его создавать

4b9b3361

Ответ 1

Возможно, у вас есть записи в RegistratieBehandelingen (не уверены в имени таблицы), которых нет в таблице пользователей.

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

Ответ 2

Это означает, что у вас есть дочерние данные без соответствующего идентификатора родителя.

Выполните следующие действия, чтобы узнать, есть ли у вас какие-либо результаты:

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

(при необходимости заменяя имена таблиц и столбцов)

Если вы получите какие-либо результаты, тогда он должен показать, какие записи содержат идентификаторы пользователей, которые не соответствуют пользователям.

Ответ 3

После вышеуказанного запроса вы можете удалить не существующий UserId из таблицы tbl_Paramed_RegistratieBehandelingen или вставить их в таблицу Users.