我是一名学生,我在使用自动增量方面遇到了问题,因为当我删除一行时,它会继续增加。说明:
我想自动增加id 所以:
id name age
1 michael 18
2 katy 17
3 jack 20
现在我删除第3行,当我点击新按钮时,它会转到id 4而不是id 3 我试过rows.count并刷新文本框但没有
一些adicional信息
ds= dataset
maxrows = ds.Tables("virtualtable").Rows.Count
idcliTextBox.Text = maxrows
如何将id设置为真正的最后一行?
答案 0 :(得分:2)
这是正确的行为,这不是问题。通常,数据库中的自动增量列永远不会被重置,以容纳因删除先前插入的记录而导致的空洞。 自动增量列通常用作主键,以唯一标识表中的单个记录。
假设您的表代表students
,其中ID
字段值用作另一个表examresults
的外键。在此表中,您可以存储学生的考试成绩。您的学生Katy(2)在考试表中有两个关于数学和地理毕业的记录。
如果从表students
删除ID = 2的记录,并且examresults
的相关记录将Jack的记录从3更改为2意味着您还需要更改相关记录杰克的考试结果。如果你考虑一下,这是非常不切实际和无用的。