如何在sql server创建表的时候设置自动增加字段

我想创建一个表有三个字段PID,X,Y,(都是int)想要以下效果插入PID相同的数据时X字段要能自动加1,例如:假设表已经有数据:PIDXY111123219我inse... 我想创建一个表 有三个字段 PID , X, Y ,(都是int) 想要以下效果

插入PID相同的数据时X字段要能自动加1 ,

例如 : 假设表已经有数据: PID X Y
1 1 1
1 2 3
2 1 9
我insert into 数据 (PID,Y) (1,7) 和(PID,Y) (2,5)
希望出现一下效果 PID X Y
1 1 1
1 2 3
2 1 9
1 3 7
2 2 5
请问表应该怎么设计?
展开
 我来答
任霏博客
推荐于2018-02-11 · 知道合伙人软件行家
任霏博客
知道合伙人软件行家
采纳数:112 获赞数:561

向TA提问 私信TA
展开全部

如果用代码实现那么如下:

CREATE   TABLE   表名(字段名 [int] IDENTITY(1,1)NOT NULL)

在SQL   SERVER中,所有整数类型的列都可以定义成自增长列,叫作“标识”,它通过设定“标识种子”和“标识递增量”来实现功能。

1、选中表;   
2、右击鼠标,设计;   
3、选中列(整数类型)   
4、设定标识为“是“(默认为“否”)、标识种子和标识递增量(一般为1)。 

xtfnpgy
2014-04-22 · TA获得超过1784个赞
知道大有可为答主
回答量:1989
采纳率:76%
帮助的人:1084万
展开全部
这个你可以在触发器里面实现!在设计阶段是无能为力的,你要控制的是非自增字段,而自增字段必须是唯一的,所以不是你理解的那样的自增字段。
你需要在插入PID,Y字段时候查询PID=1的最大个数,然后再更新到X字段即可;
你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新
X=select count from 表 where PID=Inserted.PID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
推荐于2016-03-02 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5096万
展开全部
这只能用触发器实现了,插入后判断x若为空,就update
如果x是根据pid自增的,可以查出当前最大值然后+1
如果x是根据插入的时间而定,即最近一次插入相同pid的值的话,
还需要一个标识数据插入顺序的标识列或者时间列
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式