sql server 中列属性 标识规范 的意义是什么?全面点。

Eysss 2013-08-21 05:49:05
之前创建列都是int或bigint类型,标识规范选择“是”,这个属性为“是”了后,能起到什么作用?
...全文
1370 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
每次插入数据的时候,这个字段是不是不用写值?
最爱午夜 2013-08-22
  • 打赏
  • 举报
回复 1
通常,在业务型数据库中,很多人喜欢用自增列做主键,以达到主键唯一性的目的,而标识列就是针对自增列来说的,标识列用IDENTITY来定义,例如:IDENTITY(1,1)中,第一个1代表标识列的第一行的值,第二个1代表每次增长1,也就是说标识列的第二行值是2,以此类推。 标识列使用int,bigint,甚至是decimal(10,0)或numeric(10,0)是因为整型数据的自动增长,数据库内部有执行的机制。
KeepSayingNo 2013-08-22
  • 打赏
  • 举报
回复 1
自增长列用的,当然你设置之后还可以设置标识增量等,表示每次增加多少。默认是1
發糞塗牆 2013-08-21
  • 打赏
  • 举报
回复
这个标识规范并不是必选的,只是为了弄一列自增列而加上去的
Shawn 2013-08-21
  • 打赏
  • 举报
回复
CREATE TABLE tableA
(
	id INT NOT NULL IDENTITY(1,1),	--是的话,建表语句就会多个IDENTITY关键字,作用是这个字段不允许用户操作,是由系统自动按起始值(1),增量值(1)生成的。
	NAME VARCHAR(10)
)

CREATE TABLE tableB
(
	id INT NOT NULL,	--否的话,建表语句就会少这个关键字。然后这个字段的值由用户来维护。
	NAME VARCHAR(10)
)

--必要时也可以打开选项,由用户来维护自增列(只能插入,不能更新已有的id值)
SET IDENTITY_INSERT tableA ON
INSERT tableA(id) VALUES(1)
SET IDENTITY_INSERT tableA OFF

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧