【发布时间】:2015-03-17 00:33:33
【问题描述】:
我有一张使用 Microsoft SQL Server 2012 的表
Name
+-----------+------------+
| IDName | Name |
+-----------+------------+
|1 | Doddy |
|2 | Rinta |
|3 | Krida |
|4 | Debbie |
+-----------+------------+
我设置“IDName”列并在 Identity Spesification(Is Identity)中设置“Yes”,Identity increment = 1 和 identity seed = 1。所以,如果我插入新行,例如“Bobby”和“Tommy” , IDName 列自动插入
Name
+-----------+------------+
| IDName | Name |
+-----------+------------+
|1 | Doddy |
|2 | Rinta |
|3 | Krida |
|4 | Debbie |
|5 | Bobby |
|6 | Tommy |
+-----------+------------+
如果我删除一行,表格会是这样的
Name
+-----------+------------+
| IDName | Name |
+-----------+------------+
|1 | Doddy |
|2 | Rinta |
|3 | Krida |
|4 | Debbie |
|5 | Bobby |
+-----------+------------+
现在是我的问题。如果我添加一个具有相同或不同名称的新行,则 IDName 不会设置为 6,而是 7 这样。
Name
+-----------+------------+
| IDName | Name |
+-----------+------------+
|1 | Doddy |
|2 | Rinta |
|3 | Krida |
|4 | Debbie |
|5 | Bobby |
|7 | Tommy |
+-----------+------------+
如果我重新删除并重新插入,IDName 不是设置为 6 或 7,而是设置为 8。
Name
+-----------+------------+
| IDName | Name |
+-----------+------------+
|1 | Doddy |
|2 | Rinta |
|3 | Krida |
|4 | Debbie |
|5 | Bobby |
|8 | Tommy |
+-----------+------------+
我该如何解决?我已经尝试过,但没有任何成功。谢谢。
【问题讨论】:
-
这是自动增量列的正常行为。为什么需要 ID 为 6 而不是 8?
-
参考这个stackoverflow来回答:stackoverflow.com/questions/21824478/…
标签: c# sql-server auto-increment