【问题标题】:Automatic id assign自动分配 ID
【发布时间】:2014-04-15 18:59:21
【问题描述】:

我是一名学生,我在使用自动增量时遇到问题,因为当我删除一行时,它会继续增量。解释:

我想自动增加 id 所以:

  id   name      age

  1    michael   18

  2    katy      17

  3    jack      20

现在我删除第 3 行,当我单击新按钮时,它将转到 id 4 而不是 id 3 我试过 rows.count 并刷新文本框但没有

一些addicional信息

ds= dataset
maxrows = ds.Tables("virtualtable").Rows.Count

idcliTextBox.Text = maxrows

我如何让它设置 id 到真正的最后一行?

【问题讨论】:

  • 这就是“自动增量”的意思。这不成问题。不要让它成为一个,从包含数千行的表中可靠地选择下一个可用数字是非常昂贵的。

标签: vb.net visual-studio visual-studio-2012


【解决方案1】:

这是正确的行为,不是问题。通常,数据库中的自动增量列永远不会重置以适应因删除先前插入的记录而导致的空洞。 自增列通常用作主键来唯一标识表中的单个记录。

假设您的表表示students,其中ID 字段值用作另一个表examresults 的外键。在此表中,您存储学生的考试结果。您的学生 Katy (2) 在数学和地理毕业的考试成绩表中有两条记录。

如果您从表students 中删除ID=2 的记录以及examresults 中的相关记录,将Jack 的记录从3 更改为2 意味着您还需要更改Jack 的考试结果的相关记录。仔细想想,这是非常不切实际和无用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 2021-11-26
    • 1970-01-01
    • 2013-04-07
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多