我有一个包含3个f_Key的表和1个包含6054个记录的P_Key。
该表丢失了一条记录。我试图将记录插入该表。
记录ID是2352,最后一个记录ID是9560所以,如果我插入记录然后它取9561 id,这是id之前的下一个id。如果尝试删除其他记录然后因为F_Key它不允许还要删除。如果我尝试更新9561 ID,那么它也不允许更新。
答案 0 :(得分:1)
您可以使用SET IDENTITY INSERT
构造在具有自动编号的表中显式插入PK值,如下所示:
set identity_insert #your_table on
insert into your_table (PK_COL_IDENTITY, ...) values (2352, ...)
set identity_insert #your_table off
答案 1 :(得分:0)
据我所知,如果您的ID自动递增,那么您无法更新该ID(密钥)。在您的情况下,唯一的方法是TRUNCATE
。如果您将截断表格,那么它将允许生成新的序列。
您可以创建临时表并将数据迁移到临时表并截断该父表,然后再次将数据从临时表迁移到父表。
希望它会对你有所帮助。