sql sever中怎么把已有数据的列改为标识列?
做数据迁移,原有表中有标识列为ID,由于ID为外键,所以转移到新表中没设标识列,现在怎么样才能把这个ID改为标识列,且数据不变呢?...
做数据迁移,原有表中有标识列为ID,由于ID为外键,所以转移到新表中没设标识列,现在怎么样才能把这个ID改为标识列,且数据不变呢?
展开
2个回答
展开全部
如果这列中没有数据或者数据可弃之不用的话,可用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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询