テーブルを作成しました:
create table userTable
(
userId int identity(1,1) not null,
userName nvarchar(20) not null,
joinDate datetime not null default getdate()
constraint pk_userTable primary key(userId) on [primary]
)
次に、列joinDateを削除しようとしました:
alter table userTable drop column joinDate
しかし、エラーが発生しました:
メッセージ 5074、レベル 16、状態 1、行 1
オブジェクト 'DF_userTable_joinD_31EC6D26' は列 'joinDate' に依存しています。
メッセージ 4922、レベル 16、状態 9、行 1
ALTER TABLE DROP COLUMN joinDate は、1 つ以上のオブジェクトがこの列にアクセスするため失敗しました。
なぜそうなのですか?
また、新しい行を挿入するときに userName 列にのみ値を指定したいのですが、それをしようとすると:
INSERT userTable SELECT 'name1';
エラーメッセージが表示されます:
メッセージ 213、レベル 16、状態 1、行 1
列名または指定された値の数がテーブル定義と一致しません。
このエラーが発生するのはなぜですか?