如何在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
请问表应该怎么设计? 展开
插入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
请问表应该怎么设计? 展开
3个回答
展开全部
这个你可以在触发器里面实现!在设计阶段是无能为力的,你要控制的是非自增字段,而自增字段必须是唯一的,所以不是你理解的那样的自增字段。
你需要在插入PID,Y字段时候查询PID=1的最大个数,然后再更新到X字段即可;
你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新
X=select count from 表 where PID=Inserted.PID
你需要在插入PID,Y字段时候查询PID=1的最大个数,然后再更新到X字段即可;
你先熟悉下触发器的用法,然后理清思路,在inserted之后,更新
X=select count from 表 where PID=Inserted.PID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这只能用触发器实现了,插入后判断x若为空,就update
如果x是根据pid自增的,可以查出当前最大值然后+1
如果x是根据插入的时间而定,即最近一次插入相同pid的值的话,
还需要一个标识数据插入顺序的标识列或者时间列
如果x是根据pid自增的,可以查出当前最大值然后+1
如果x是根据插入的时间而定,即最近一次插入相同pid的值的话,
还需要一个标识数据插入顺序的标识列或者时间列
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询