1. ホーム
  2. sql

[解決済み] なぜ SQL サーバーはこのエラーを投げるのですか。カラム 'id' に値 NULL を挿入できません。

2022-03-04 06:45:19

質問

以下のクエリを使用しています。

INSERT INTO role (name, created) VALUES ('Content Coordinator', GETDATE()), ('Content Viewer', GETDATE())

しかし、主キーを指定していない(これは id ). そこで質問ですが、なぜsql serverはこのエラーを返してくるのでしょうか?

Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'id', table 'CMT_DEV.dbo.role'; column does not allow nulls. INSERT fails.
The statement has been terminated.

解決方法は?

私が想定しているのは id はインクリメント値であることが想定されています。

これを設定しないと、nullableでないカラムでデフォルト値がない場合、値を指定しないとエラーになります。

SQL Server Management Studioで自動インクリメントを設定するには。

  • でテーブルを開きます。 Design
  • カラムを選択し Column Properties
  • Indentity Specification は、セット (Is Identity)=YesIndentity Increment=1