プロが教えるわが家の防犯対策術!

ID、name、seibetuという列を持つ、membersというテーブルがあり、INSERT文を実行してテーブルに値を入れたいと考えています。

IDがIs IDENTITYの値がTRUEになっている列で、NOT NULLです。

以下のクエリを実行したところ、IDにNULLが入るといったエラーが起きます。

SET IDENTITY_INSERT members ON

INSERT INTO members
(seibetu, name, ID)
VALUES ('男', 'すずき', @@IDENTITY)


何か問題があるのでしょうか?
お分かりの方いらっしゃいましたらよろしくお願いします。

A 回答 (1件)

・@@IDENTITYは直前のIDENTITY列の値です。

INSERT INTOする場合に使う物ではありません。
・SET IDENTITY_INSERTはリストア時など,明示的にIDENTITY列に値を入れたい場合に使います。

というわけで,このクエリは,
INSERT INTO members
(seibetu, name)
VALUES ('男', 'すずき')
のみでよくなります。
# SET IDENTITY_INSERTは不要。
    • good
    • 0
この回答へのお礼

できました。ありがとうございました。

お礼日時:2012/06/11 12:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!