NOT NULL
を指定する必要があります ALTER TABLE ... ALTER COLUMN
で明示的に それ以外の場合は、デフォルトでNULL
を許可します 。これはPK列では許可されていません。
以下は正常に機能します。
CREATE TABLE p
(
ReferenceID VARCHAR(6) NOT NULL PRIMARY KEY
)
INSERT INTO p VALUES ('AAAAAA')
ALTER TABLE p ALTER COLUMN ReferenceID VARCHAR(8) NOT NULL
NOT NULL
の場合 省略した場合、次のエラーが発生します
Msg 5074, Level 16, State 1, Line 1
The object 'PK__p__E1A99A792180FB33' is dependent on column 'ReferenceID'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN ReferenceID failed because one or more objects access this column.
プログラマティックアプローチで考慮すべきいくつかのことは、することです。 ReferenceID
を参照する外部キーを削除する必要があります 列を一時的に、またNOT NULL
を含めないようにしてください for(Non PK)ReferenceID
現在である列 null許容。