SQL server 2005中设置自动编号字段的方法
作者:jackmacro 发布时间:2024-01-12 13:55:47
如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性。在每个表中只能设置一个列的标识属性。
具有标识属性的列包含系统生成的连续值,该值唯一地标识表中的每一行(例如,雇员标识号)。在包含标识列的表中插入值时,Microsoft SQL Server 将基于上一次使用的标识值(标识种子属性)和在创建列时指定的增量值(标识增量属性)自动生成下一个标识符。
注意:
只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。
修改列的标识属性
1.在对象资源管理器中,右键单击要更改其数据类型的列所在的表,再单击“修改”。此时,将在表设计器中打开该表。
2.清除要更改的列的“允许空”复选框。
3.在“列属性”选项卡中,展开“标识规范”属性。
4.单击“是标识”子属性的网格单元格,然后从下拉列表中选择“是”。
5.在“标识种子”单元格中键入值。此值将赋给表中的第一行。默认情况下将赋值 1。
6.在“标识增量”单元格中键入值。此值是基于“标识种子”依次为每个后续行增加的增量。默认情况下将赋值 1。
例如,假设要为添加到 orders 表的每行自动生成 5 位 Order ID,从 10000 开始并且每次递增 10。为此,应在“标识种子”中键入 10000,在“标识增量”中键入 10。
如果更改表的任何标识属性,则将保留现有的标识值。新的设置值仅应用于添加到表中的新行。
注意:
如果频繁执行删除操作的表中存在标识列,则标识值之间会出现不连贯的情况。若要避免出现这种不连贯的情况,请不要使用标识属性。
当您在网格单元格外单击或使用 Tab 键移动到其他网格单元格后,“标识规范”属性的新值将赋给表设计器中的列。当您在表设计器中保存更改时,这些值将在数据库中生效。
1. 创建表时指定自动编号的字段
CREATE TABLE [dbo].[UserInfor](
[UserID] [int] IDENTITY(100,2) NOT NULL,
[UserName] [nchar](10) NOT NULL,
)
说明:创建一个用户信息表UserInfor,并指定UserID为自动编号字段。
其中:IDENTITY(100,2)表示字段的初始值为100,每次增量为2,如输入数据后第一次为100,第二次为102。
2.获取自动编号的字段值
这里可以使用@@IDENTITY取得自动增加字段主键的值
(3)重新设置自动编号字段种子的起始值
如果用户将带有自动增加字段的表内容清空,由该字段的起始值将从原有的值开始增加,可以通过DBCC命令重新设置起始值。
DBCC CHECKIDENT (UserInfor,RESEED,0)
将UserInfor表的自动增加字段种子起始值设置为0,插入一条数据后自动字段的值为0+增量,如增量为1,则值为1
----------------------------------------------
右键你的表-->设计表-->找到你的id字段(类int型)-->标识-->是-->标识种子(初始值)-->标识递增量-->OK
---------------------------------
create table mytest
(
id int primary key identity(1,1),--主键,自动+1
name varchar(20) unique not null,--不允许重复,不允许为空
Age tinyint,
notetime smalldatetime default getdate()
)
insert into mytest values ('张三',20,getdate())
insert into mytest (name,age)values ('李四',20)
猜你喜欢
- 前言如果一个类是别人编写的,又没有帮助文档,怎么样来查看所有成员函数呢?本文详细给大家介绍了关于python用dir函数查看类中所有成员函数
- 今天要给大家分享的是一款自己写的屏保程序,大学大家最头疼的就是四六级的考试了,上次考试做阅读的时候,情不自禁的发呆,想着如果我能在电脑上写一
- 问题:简单版连连看小游戏一个分割成w*h个正方格子的矩形板上,每个正方格子可以有游戏卡,也可以没有游戏卡两个游戏卡之间有一条路径相连需满足以
- 今天给大家分享一篇可视化干货,介绍的是功能强大的开源 Python 绘图库 Plotly,教你如何用超简单的(甚至只要一行)代码,绘制出更棒
- 本文实例讲述了python的keyword模块用法。分享给大家供大家参考。具体如下:Help on module keyword:NAME
- 本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:1.给字典按照value按
- Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Djang
- 使用 WinHttpRequest 伪造 HTTP 头信息,伪造 Referer 等信息。由于微软封锁了 XmlHttp 对象,所以无法伪造
- 下面是一段产生log-normal分布的代码,以此进行说明。clear all;clc;for t=1:100 Traffic(t) =cu
- 游戏规则:双方轮流选择棋盘的列号放进自己的棋子,若棋盘上有四颗相同型号的棋子在一行、一列或一条斜线上连接起来,则使用该型号棋子的玩家就赢了!
- 本文实例讲述了python中二维阵列的变换方法。分享给大家供大家参考。具体方法如下:先看如下代码:arr = [ [1, 2, 3], [4
- DateTimeField日期+时间。与python里的 datetime.datetime 实例同。比如,数据库字段内容为2018-08-
- Tuple概述在Python中使用元组(Tuple)存储一组信息,其特征如下:1、使用()定义元组2、元组中使用逗号 , 分割各元素;各元素
- 本文实例讲述了Python实现的NN神经网络算法。分享给大家供大家参考,具体如下:参考自Github开源代码:https://github.
- 1、pyqtgraph库数据可视化效果还不错,特别是窗体程序中图像交互性较好;安装也很方便,用 pip 安装。2、在Python中新建一个
- 1.配置anaconda环境以下内容在下载完anaconda后实现快捷键win+r,打出命令行cmd,进入黑色 界面输入conda info
- 编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number
- 绘制双变量联合分布图有时我们不仅需要查看单个变量的分 布,同时也需要查看变量之间的联系, 往往还需要进行预测等。这时就需要用到双变量联合分布
- 做了一个Python的小项目。利用了一点python的可视化技巧,做出烟花绽放的效果,文章的灵感来自网络上一位大神。一.编译环境Pychar
- 本文实例讲述了PHP利用header跳转失效的解决方法,分享给大家供大家参考。具体方法分析如下:一、问题:今天header(\"L