単一のテーブルの場合、ある列の重複を別の列の範囲外に制限する必要があります。
たとえば、テーブルが与えられた場合、それが の外側で一意であるdemographics
ことを強制したいと思います。この演習に加えて、ビジネス ルールを介してレコードを更新することはできません。email
person_id
demographics
demographics
テーブルに次のデータセットがあるとします。
id | email | city | person_id |
1 | one@email.com | Buffalo | 100 |
2 | two@email.com | Boston | 200 |
demographics
この挿入が問題ないように変更するにはどうすればよいですか。
INSERT INTO demographics (email, city, person_id) VALUES ('one@email.com', 'Miami', '100');
しかし、この挿入はエラーを引き起こします:
INSERT INTO demographics (email, city, person_id) VALUES ('two@email.com', 'Buffalo', '100');
?