sql sever中怎么把已有数据的列改为标识列?

做数据迁移,原有表中有标识列为ID,由于ID为外键,所以转移到新表中没设标识列,现在怎么样才能把这个ID改为标识列,且数据不变呢?... 做数据迁移,原有表中有标识列为ID,由于ID为外键,所以转移到新表中没设标识列,现在怎么样才能把这个ID改为标识列,且数据不变呢? 展开
 我来答
badkano
2015-08-01 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885366
团长

向TA提问 私信TA
展开全部

如果这列中没有数据或者数据可弃之不用的话,可用row_number来解决,但前提是需要有一列为主键

如student表中,其中姓名为主键:

姓名    年龄    待用列

张三    20

李四    19

王五    19


执行语句:

update student set a.待用列=b.rn from student a inner (select 姓名,row_number() over (order by 年龄 desc) rn from student) b on a.姓名=b.姓名

结果为:

姓名    年龄    待用列

张三    20        1

李四    19        2

王五    19        3

szm341
2013-07-29 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5157万
展开全部
可以用设计器加上标识列属性,设计器会自动复制数据
更多追问追答
追问
我试了,数据实在是太多了,会出现服务器超时。。“超时时间已到。在操作完成之前超时时间已过或服务器未响应"。就是这错。。我的服务器超时时间是0
追答
有多少数据啊?如果自己手动设置的话很麻烦,手动操作设计器的步骤~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式