ホームページ  >  記事  >  データベース  >  SQLServer“标识列”的相关问题

SQLServer“标识列”的相关问题

WBOY
WBOYオリジナル
2016-06-07 16:21:341450ブラウズ

下面我们看一张表:想一想在数据库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会自动分配标识列的值,如果两个人同时往数据库里面插数据时,将会产生唯一的自动增加为标识.

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Oracle修改表空间大小次の記事:Sql Server 获