子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

【SQL】【SQLServer】IDENTITYの挙動について

今日もSQL Serverネタです。

連番を自動で埋めてくれる列IDENTITYの挙動についてです。

このIDENTITYはROLLBACKすると連番ではなくなるらしい。

おっと思ったのでメモ。

例えば1~10までINSERTしたけど、なんかの理由でROLLBACKしてしまうと、
次埋めるときは11からになって飛び飛びになってしまうらしい。。。

で、どこまで使っているか調べるには次のようにするといいらしい。

DBCC CHECKIDENT ([テーブル名], NORESEED);

で、IDをリセットするにはどうするかというと次のようにすると、0にリセットできるらしい。

DBCC CHECKIDENT ([テーブル名], RESEED, 0);   -- 0 にリセット