0

例:- person_id と skill の 2 つの列を持つ Person というテーブルがあります。主キーは (person_id, skill)

人:- Person_id | スキル

        1     | skill_a
        1     | skill_b
        2     | skill_a

したがって、人は多くのスキルを持つことができます。しかし、スキルのない人を追加するにはどうすればよいですか (スキル列は null 値を取らないため)

4

2 に答える 2

0
insert table person(person_id) values('3')

スキルをnullに設定

person_id を設定すると、skill が主キーになり、null は設定されません。

primary_key =一意+ null ではないため

于 2013-10-05T05:19:27.843 に答える
0

SQLには2つの制約があります

  1. 主キー
  2. ユニークキー

どちらも重複を避けるために使用されます。一意のキーは 1 回だけ null 値を許可します。ただし、主キーは null 値を許可しません。

これを実現するには、PRIMARY KEY 制約の代わりに UNIQUE 制約を使用することをお勧めします。

于 2013-10-05T05:28:30.493 に答える