f_IDがプライマリキーであるため、以下のSQLコードでは 'NOT NULL'が冗長であるため、任意のレコードに対してnullにすることはできません。SQL Server - 'NOT NULL'制約がプライマリキーに重複していますか?
CREATE TABLE t_Activities(
f_ID varchar(50) NOT NULL,
PRIMARY KEY (f_ID))
f_IDがプライマリキーであるため、以下のSQLコードでは 'NOT NULL'が冗長であるため、任意のレコードに対してnullにすることはできません。SQL Server - 'NOT NULL'制約がプライマリキーに重複していますか?
CREATE TABLE t_Activities(
f_ID varchar(50) NOT NULL,
PRIMARY KEY (f_ID))
後でプライマリキーの制約を削除するとどうなりますか?列の後にNULLを許可する必要がありますか?そうですね? 2つの制約は異なります。 PK制約は、にNOT NULLが必要ですが、にはが含まれていません。
それは冗長であるかもしれないが、私はprimary key
(又はIdentity
列)を作成するこの方法を好みます。テーブルを作成する人がテーブルのNOT NULL
とPrimary Key
であることを理解していることを示しています。
これは正しいです。あなたが持っていた場合:
CREATE TABLE t_Activities(
f_ID varchar(50),
PRIMARY KEY (f_ID))
これは同等です。主キー制約はNULL
を許可しません。