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

我想创建一个表 有三个字段 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
请问表应该怎么设计?

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

CREATE   TABLE   è¡¨å(字段名 [int] IDENTITY(1,1)NOT NULL)

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-22
这个你可以在触发器里面实现!在设计阶段是无能为力的,你要控制的是非自增字段,而自增字段必须是唯一的,所以不是你理解的那样的自增字段。
你需要在插入PID,Y字段时候查询PID=1的最大个数,然后再更新到X字段即可;
你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新
X=select count from 表 where PID=Inserted.PID
第2个回答  推荐于2016-03-02
这只能用触发器实现了,插入后判断x若为空,就update
如果x是根据pid自增的,可以查出当前最大值然后+1
如果x是根据插入的时间而定,即最近一次插入相同pid的值的话,
还需要一个标识数据插入顺序的标识列或者时间列本回答被提问者采纳
相似回答