SqlServer2008データベース内のIdentityauto-increment列の値に厄介な問題があります。テーブルから行を削除する(またはすべての行を削除する)と、新しいエントリを追加すると、そのレコードがまだ存在するかどうかに関係なく、前のレコードに挿入された値から増分されます。
IDENTITY列が、EXISTSの以前のレコードが何であれ、自動インクリメントされるように、それを取得する方法を誰かが知っているかどうか疑問に思いました。
私のコードは次のようになります。
CREATE TABLE Product
(
Product_Barcode INT NOT NULL PRIMARY KEY IDENTITY,
Product_Description VARCHAR(255),
Product_Name VARCHAR(255),
Product_Supplier VARCHAR(255) FOREIGN KEY REFERENCES Supplier(Supplier_Name),
Product_Size VARCHAR(255),
Product_Weight FLOAT
);