25

2つのテーブルの間に外部キーが必要なので、いつものように試します。今私が抱えている問題は、彼が作成に失敗することです。そして、その見た目では、すでにキーはあるが存在しないため、作成に失敗します。

- 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)ので、なぜ彼がそれを作成しないのか分かりません

4

3 に答える 3

52

ユーザー テーブルに存在しないレコードが RegistratieBehandelingen (テーブル名がわからない) にある可能性があります。

select * from RegistratieBehandelingen a where UserID IS NULL or
not exists (select 1 from Users b where b.UserID= a.UserID)
于 2012-07-04T07:47:40.947 に答える
12

これは、一致する親 ID のない子データがあることを意味します。

次のコマンドを実行して、結果が得られるかどうかを確認します。

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

(必要に応じてテーブルと列の名前を変更します)

結果が得られた場合、Users と一致しない UserID を含むレコードが表示されます。

于 2012-07-04T07:50:17.260 に答える