如何修改列标识属性 (Visual Database Tools)
更新日期: 2006 年 12 月 12 日
如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性。在每个表中只能设置一个列的标识属性。
具有标识属性的列包含系统生成的连续值,该值唯一地标识表中的每一行(例如,雇员标识号)。向具有标识列的表中插入值时,Microsoft SQL Server 自动基于上次使用的标识值(标识种子属性)和创建列时指定的增量值(标识增量属性)生成下一个标识符。
注意: |
---|
只能针对不允许空值并且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。 |
修改列的标识属性
在对象资源管理器中,右键单击要更改其标识属性的列所在的表,再单击**“设计”(在 SP1 或更早版本中为“修改”**)。
此时,将在表设计器中打开该表。
清除要更改的列的**“允许空值”**复选框。
在**“列属性”选项卡中,展开“标识规范”**属性。
单击**“是标识”子属性的网格单元格,然后从下拉列表中选择“是”**。
注意: 如果表已存在标识列,则在另一列上设置“是标识”属性会将原始列上的属性重置为“否”而不会出现警告。 在**“标识种子”**单元格中键入值。此值将赋给表中的第一行。默认情况下将赋值 1。
在**“标识增量”单元格中键入值。此值是基于“标识种子”**依次为每个后续行增加的增量。默认情况下将赋值 1。
例如,假设要针对添加到 orders
表中的每行自动生成五位数的顺序 ID,从 10000 开始并以值 10 递增。为此,应键入 10000
作为**“标识种子”,键入 10
作为“标识增量”**。
如果更改表的任何标识属性,则将保留现有的标识值。新的设置值仅应用于添加到表中的新行。
注意: |
---|
如果频繁执行删除操作的表中存在标识列,则标识值之间会出现不连贯的情况。若要避免出现这种不连贯的情况,请不要使用标识属性。 |
在网格单元外单击或使用 Tab 键移动到其他网格单元后,**“标识规范”**属性的新值将分配给表设计器中的列。在表设计器中保存更改后,新值将在数据库中生效。