以前にこの質問をしましたが、答えは私が探していたものではありませんでした。
コードを使用せずに Asp.net でテーブルを作成しました。2 つの列が含まれています。
YourUserId と FriendUserId
これは多対多の関係です。
私が欲しいものは次のとおりです。
あなたの名前が UserId である複数のレコードが存在する可能性があります。また、FriendUserId が同じである複数のレコードが存在する可能性もありますが、両方が同じである複数のレコードが存在することはできません。例えば:
デイブ:グレッグ
デイブ:クリス
グレッグ:クリス
クリス:グレッグ
いいね
デイブ:グレッグ
デイブ:グレッグ
よくない。
テーブルを右クリックして、[インデックス/キー] を選択しました。次に、両方の列を列セクションに配置し、一意にすることを選択しました。これにより、全体としてはユニークになりますが、個別にはユニークではないと思いました。
データセットに移動すると、両方の列の横にキーが表示され、両方の列がチェックされているという制約があることがわかります。
個々の列を一意にすることなく、レコードの重複コピーをテーブルに挿入していないことを確認する方法はありますか?
SQL挿入ステートメントでそれを制御しようとしましたが、うまくいきませんでした。これは私が試したものです。
INSERT INTO [FriendRequests] ([UserId], [FriendUserId]) VALUES ('"+UserId+"', '"+PossibleFriend+"') WHERE NOT EXIST (SELECT [UserId], [FriendUserId] FROM [FriendRequests])
それは何らかの理由で機能しませんでした。ご協力ありがとうございました!