0

当列是只读的时,如何添加一行?我认为我遇到的这个问题是因为我使用了一个 ID 字段(列),每当在 Microsoft SQl Server Management Studio 中添加新行时,它就会自动生成并递增,我无法手动更改 ID 字段并且它看起来不同(灰色)颜色。

不知何故,有一次,在我输入了行中的所有其他项目并在键盘上按“Enter”后,我设法添加了一行,并自动生成了 ID 字段。问题是它似乎没有乱序添加它。我不知道为什么会是 159 而不是 157

http://i67.photobucket.com/albums/h292/Athono/sql%20server/stuck_zps00d884e5.png

我删除了该行并再次尝试。这一次,它给了我一个错误:

http://i67.photobucket.com/albums/h292/Athono/sql%20server/stuck02_zpsf175086e.png

当我尝试手动编辑该字段时,似乎我不允许:

http://i67.photobucket.com/albums/h292/Athono/sql%20server/stuck03_zpse022ed98.png

请指教。

我正在使用 SQL Server 2008 R2

如果这有帮助,这里是版本号:

Microsoft SQL Server 管理工作室 --- 10.50.2500.0

Microsoft 分析服务客户端工具 --- 10.50.2500.0

Microsoft 数据访问组件 (MDAC) --- 6.1.7601.17514

微软 MSXML --- 3.0 4.0 5.0 6.0

微软 Internet Explorer --- 9.0.8112.16421

Microsoft .NET Framework 2.0.50727.5466 操作系统 6.1.7601

4

1 回答 1

0

当您删除数据库中的一行时,ID 列不会重置。相反,该表使用序列中的下一个 ID 继续前进。

您插入一行,获取 ID#1,插入一行,获取 ID#2,然后删除行#2。您期望下一个插入是#2,但实际上是#3。

于 2013-04-18T21:23:25.703 回答