例:- person_id と skill の 2 つの列を持つ Person というテーブルがあります。主キーは (person_id, skill)
人:- Person_id | スキル
1 | skill_a
1 | skill_b
2 | skill_a
したがって、人は多くのスキルを持つことができます。しかし、スキルのない人を追加するにはどうすればよいですか (スキル列は null 値を取らないため)
insert table person(person_id) values('3')
スキルをnullに設定
person_id を設定すると、skill が主キーになり、null は設定されません。
primary_key =一意+ null ではないため
SQLには2つの制約があります
どちらも重複を避けるために使用されます。一意のキーは 1 回だけ null 値を許可します。ただし、主キーは null 値を許可しません。
これを実現するには、PRIMARY KEY 制約の代わりに UNIQUE 制約を使用することをお勧めします。