[SQL Server]自動採番のテーブルに値指定でINSERT

[SQL Server]自動採番のテーブルに値指定でINSERT

概要

自動採番の列があるテーブルに追加する場合,通常はその列を省いて新たに採番されるようにするが,データ戻しの場合のように値も指定してInsertしたいときの方法

列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、テーブル ‘xxxtable’ の ID 列に明示的な値を指定できます というエラーが表示されるなど

方法

SET IDENTITY_INSERT テーブル名 ON; 
INSERT INTO テーブル名 
(列1,列2,列3....必ず必要省略不可) 
SELECT 
  列1,列2,列3....必ず必要省略不可  
FROM コピー元テーブル WHERE 条件式; 
SET IDENTITY_INSERT テーブル名  OFF;

必ずOFFにする。でないと自動採番が無効のままになるらしい

プロパティ

SQL Server 12.0

解決しましたら、いいね か ツイート をお願いします

コメントする