1. ホーム
  2. sql

[解決済み] SQL Server 2008を使用してIDENTITY_INSERTをオン/オフする方法は?

2022-03-17 04:21:13

質問

を挿入する際にエラーが発生するのはなぜですか? IDENTITY_INSERT がOFFになっていませんか?

SQL Server 2008で正しくオンにするにはどうすればよいのでしょうか?SQL Server Management Studioを使用することでしょうか?

このクエリを実行しました。

SET IDENTITY_INSERT Database. dbo. Baskets ON

そして、コンソールにCommand(s)が正常に完了した旨のメッセージが返ってきました。 しかし、アプリケーションを実行すると、まだ以下のようなエラーが表示されます。

Cannot insert explicit value for identity column in table 'Baskets' when 
IDENTITY_INSERT is set to OFF.

解決方法は?

SQLを使用して、以下のように MSDN

SET IDENTITY_INSERT sometableWithIdentity ON

INSERT INTO sometableWithIdentity 
    (IdentityColumn, col2, col3, ...)
VALUES 
    (AnIdentityValue, col2value, col3value, ...)

SET IDENTITY_INSERT sometableWithIdentity OFF

完全なエラーメッセージは、次のように伝えます。 まさに 何が問題なのか...

IDENTITY_INSERT が OFF に設定されている場合、テーブル 'sometableWithIdentity' の ID 列に明示的な値を挿入することができません。