Home  >  Article  >  Database  >  SQLServer“标识列”的相关问题

SQLServer“标识列”的相关问题

WBOY
WBOYOriginal
2016-06-07 16:21:341449browse

下面我们看一张表:想一想在数据库SQLServer中我们如何能更简便的向这张表格中添加数据呢? 仔细观察此表我们不难发现,ID字段的这列数据的添充是有规律可循的,它是一个等比自增的数列,向数据表中添加这样的数据有没有简单的方法呢? 这就谈到了SQLServer标

   下面我们看一张表:想一想在数据库SQLServer中我们如何能更简便的向这张表格中添加数据呢?

SQLServer“标识列”的相关问题 三联

  仔细观察此表我们不难发现,,ID字段的这列数据的添充是有规律可循的,它是一个等比自增的数列,向数据表中添加这样的数据有没有简单的方法呢?

  这就谈到了SQLServer标识列的问题。我查询一些资料做了总结,在此和大家一起分享受与交流。

  (1)标识列的定义

  标识列,(通常也称为“标识字段”或者称为“自动增长字段”)是一行记录区别其它记录的标识,为的也是能唯一地检索出该行记录。

  注意:一个表中只能有一个标识列(标识字段),一般是把“主键”设为标识列。

  (2)如何把一个字段设为标识列?

  下面我以SQLServer2008为例来看一下它的设置步骤:

  如:右键单击——表Person3,左键单击——“设计”属性,然后选中要设为标识列的字段,在“标识规范”中,将字段的“是标识”设为“是”,最后关闭此窗口,保存即可。

SQLServer“标识列”的相关问题

  从上图中“标识规范”中看到,标识列中还有个“标识种子”和“标识增量”,主要是为了避免重复值的出现,便于查询。

  1. 标识种子 是开始的数是多少,默认为1。

  2. 标识增量(也称为增长种子)是每增加一条数据增加的值是多少,默认为1。

  3. 标识列不容许插入值,是自动给值的,强制给会报错。

  identity(1,1) 那么该列标识种子是1,增长种子也是1。第一个参数是标实种子,第二个参数是增长种子。

  注意:在设置标识列之前,要在—‘工具’菜单中找到—‘选项’—在选项中—把‘阻止保存要求重新建表的更改’的“√”去掉,否则SQLServer要修改表的标识列没法修改。

SQLServer“标识列”的相关问题

  (3)设置标识列的好处

  标识列是自动增长的,从种子开始,依次递增,递增量位自己设置的。比如:种子是1,增长量为1,那么标识列的值是:1、2、3、4、5……依次类推。所以你写Insert语句的时候,不用写标识列的值。

  也就是说:标识列实现了字段自增,解决的是并发的问题,不用开发人员控制自增,SQLServer会自动分配标识列的值,如果两个人同时往数据库里面插数据时,将会产生唯一的自动增加为标识.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Oracle修改表空间大小Next article:Sql Server 获