我的数据库遇到了这个问题,即使已经删除了id列,它也会继续增加id列。为了更好地理解我的意思,这是我的gridview的截图:
正如你从id栏中看到的那样,一切都很好,从11 - 16.但它突然从25 - 27跳过。我想要发生的是,当我删除一个项目时,我希望它从最后开始id为16.所以下一个id应为17.我希望这对你们有意义。
这也是SQL脚本的一部分:
2000
答案 0 :(得分:1)
您可以使用:
Object table:
# Name VirtSize RVA PhysSize Phys off Flags
-- -------- -------- -------- -------- -------- --------
01 CODE 00052714 00001000 00052800 00000400 60000020 [CER]
02 DATA 000013D8 00054000 00001400 00052C00 C0000040 [IRW]
03 BSS 00000B7D 00056000 00000000 00054000 C0000000 [RW]
04 .idata 00001F86 00057000 00002000 00054000 C0000040 [IRW]
05 .edata 0000139F 00059000 00001400 00056000 50000040 [IRS]
06 .reloc 0000588C 0005B000 00005A00 00057400 50000040 [IRS]
07 .rsrc 00004800 00061000 00004800 0005CE00 50000040 [IRS]
Key to section flags:
C - contains code
E - executable
I - contains initialized data
R - readable
S - shareable
W - writeable
在使用之前,请访问链接:https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql
答案 1 :(得分:1)
数据库中的主要自动增量键用于唯一标识给定行,不应给出任何业务含义。因此,保持主键不变,并添加另一列,如 guitarItemsId 。然后,当您从数据库中删除记录时,您可能希望发送一个额外的UPDATE语句,以便减少 guitarItemsId 大于 guitarItemsId 的所有行的 guitarItemsId 列。你目前正在删除。
另外,请记住,永远不要修改关系数据库中主键的值,因为可能有其他表将其作为外键引用,修改它可能会违反引用约束。