1

テーブルを作成するときに、主キーが null であってはならないことを明示的に言及する必要がありますか? 主キーの 'not null' 制約について言及しなくても、SQL は主キー フィールドに NULL 値を挿入することを許可しません。したがって、次のうちどれが良い習慣ですか?

1)    create table registration(
        id int primary key,
        name varchar(10)

    )

2)     create table registration(
        id int primary key not null,
        name varchar(10)

    )
4

2 に答える 2

4

いいえ、ありません。

PRIMARY KEY は、すべてのキー列を NOT NULL として定義する必要がある一意のインデックスです。それらが明示的に NOT NULL として宣言されていない場合、MySQL はそれらを暗黙的に (そしてサイレントに) 宣言します。テーブルは、1 つの PRIMARY KEY のみを持つことができます。PRIMARY KEY の名前は常に PRIMARY であるため、他の種類のインデックスの名前として使用することはできません。

ただし、明示的に述べることをお勧めします。これにより、物事がより明確になり、疑問があるたびにこのルールを調べる必要がなくなります。

于 2013-05-10T11:18:45.210 に答える
0

自問してみてください、なぜそれが何かを作るのなら、それがなければ必ずしもそれほど明確ではないが、より明確に明確になるとしたら、なぜあなたはそうしないのでしょうか? これに続いて、それを省略する理由はなく、スクリプトでそれを発行する完全に正当な理由がわかりません。

ベスト プラクティスは、一般的に最も賢明なものです。

于 2013-05-10T11:19:11.727 に答える