SQL SERVER IDENTITY_INSERT OFF

PC

SQLServerで、テーブルにデータを挿入する際のお話です。

ふつう、IDにした列は自動で採番されるので、そこに自分で決めた数字を使ってデータを挿入することってできませんよね。
たとえ、それらがいずれも、その挿入するデータの中で一意の数字になっていたり、既存のデータを加味しても一意になっている、というケースでも。

こんな感じに無理やりデータを入れようとすると、

INSERT INTO z_T_ID_Btn
(ID_Btn, Color)
VALUES
(6, 'gold')

こんなメッセージが。

メッセージ 544、レベル 16、状態 1、行 1
IDENTITY_INSERT が OFF に設定されているときは、テーブル ‘z_T_ID_Btn’ の ID 列に明示的な値を挿入できません。

結構丁寧に、エラー文を排出してくれているので、対策もわかっちゃうのですが・・・。
はい。
IDENTITY_INSERT を ON にしてやればいいんですね。

SET IDENTITY_INSERT z_T_ID_Btn ON;

INSERT INTO z_T_ID_Btn
(ID_Btn, Color)
VALUES
(6, 'gold')

SET IDENTITY_INSERT z_T_ID_Btn OFF;

そのままにしておくと面倒なことが起きるので、その作業が終わったら OFF にしておくことをお勧めします。

一点注意すべき点があるとすれば、この作業の後、自動採番は、このID列のなかの一番大きな数字の次の数から始まります。

ガードを下げさせて半ば強引にデータを挿入させるような感じになるので、多用することは無いと思いますが、出先のDBのテーブルのデータをごそっと塗り替えたいケースとか、あるにはあるので。

SQL SERVER本

絵で見てわかるSQL Serverの仕組み [ 平山 理 ]
絵で見てわかるSQL Serverの仕組み [ 平山 理 ] 2,860円(税込)【送料込】

楽天ブックス

平山 理 翔泳社エデミテワカルエスキューエルサーバーノシクミ ヒラヤマ オサム 発行年月:2020年09月14日 予約締切日:2020年07月09日 ページ数:344p サイズ:単行本 ISBN:97

SQL Server Transact-SQLプログラミング 実践開発ガイド [ 五十嵐 貴之 ]
SQL Server Transact-SQLプログラミング 実践開発ガイド [ 五十嵐 貴之 ] 3,938円(税込)【送料込】

楽天ブックス

五十嵐 貴之 技術評論社エスキューエルサーバートランザクトエスキューエルプログラミングジッセンカイハツガイド イガラシ タカユキ 発行年月:2019年10月09日 予約締切日:2019年08月29日

【中古】 SQL Server 2012 逆引き大全515の極意 データベース構築管理編/長岡秀明【著】
【中古】 SQL Server 2012 逆引き大全515の極意 データベース構築管理編/長岡秀明【著】 2,117円(税込)【送料別】

ブックオフ 楽天市場店

長岡秀明【著】販売会社/発売会社:秀和システム発売年月日:2012/12/21JAN:9784798036236

【中古】 SQL Server 2016の教科書 開発編 基礎から実践まで学べる/松本美穂(著者),松本崇博(著者)
【中古】 SQL Server 2016の教科書 開発編 基礎から実践まで学べる/松本美穂(著者),松本崇博(著者) 1,754円(税込)【送料別】

ブックオフ 楽天市場店

松本美穂(著者),松本崇博(著者)販売会社/発売会社:ソシム発売年月日:2016/08/01JAN:9784802610629

【中古】 ひと目でわかるSQL Server 2012 TechNet ITプロシリーズ/沖要知【著】
【中古】 ひと目でわかるSQL Server 2012 TechNet ITプロシリーズ/沖要知【著】 1,936円(税込)【送料別】

ブックオフ 楽天市場店

沖要知【著】販売会社/発売会社:日経BP社/日経BPマーケティング発売年月日:2012/11/16JAN:9784822294762

楽天ウェブサービスセンター
タイトルとURLをコピーしました