SQL Server 2016 IDENTITY値の現在値確認と値の設定

中学受験勉強管理システムの問題IDはIDENTITYで自動付番にしているが、460のところ、いきなり1443に飛んでしまったので、IDENTITY値を競ってし直すメモ。

なお、原因はわからないが、たぶん、私のプログラムミスがあるのだと思うが、直す時間はないのでとりあえず放置。

最後にデータリカバリのための、関連テーブルからのレコード削除SQLを書いておく。

2017-06-21


現在のIDENTITYを確認

SELECT IDENT_CURRENT('[dbo].[問題]') AS ID

IDENTITYを460に設定する。次に付番されるのは461になる。

DBCC CHECKIDENT('[dbo].[問題]', RESEED, 460)

ここまで参考にしたところ

http://itmemo.net-luck.com/sql-server-identity/


データ削除

DELETE FROM [dbo].[問題] WHERE [問題ID] > 1442
DELETE FROM [dbo].[ジャンル] WHERE [ID] > 1442 and [ID区分] = '問題'
DELETE FROM [dbo].[バイナリ] WHERE [ID] > 1442 and [区分] = '問題画像メイン'

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける