对已经存在的没有唯一标识的表添加一个自增的id字段(利用序列sequence)操作过程
Posted isme-zjh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对已经存在的没有唯一标识的表添加一个自增的id字段(利用序列sequence)操作过程相关的知识,希望对你有一定的参考价值。
1、原始的数据表
2、操作
-- 创建序列 test_data_file_Id_Seq --
create sequence Test_data_file_Id_Seq
increment by 1
start with
minvalue 1
maxvalue 999999999;
--对自己想要添加自增id的表备份一份,防止操作出错
create table test_data_file_copy as select * from test_data_file
--查看备份的表的记录数是否和以前的表一致
select count(*) from test_data_file_copy
select * from test_data_file_copy
--增加一个ID字段,为下面的将这个字段设置为自增的字段做准备,特别的需要注意的是:如果没有一个空的字段以备我们做为自增的属性,我们就需要自己先创建一个字段,如下代码:
alter table test_data_file_copy add Id int
-- 设置这个表的id字段为自增序列作用的字段,
update test_data_file_copy set id = Test_data_file_Id_Seq.nextval --Test_data_file_Id_Seq.nextval 这个的含义:
--插入数据进行测试,看自增id是否发挥作用
insert into test_data_file_copy values(‘shijiazhuang‘,‘后付费‘,‘huawei9999‘,‘华为‘,20,666,11,‘238.3800000000‘,‘GSM‘,‘是‘,‘是‘,‘是‘,‘是‘,‘是‘,666,7,-1,-1,66,0,66.66,0.66,0.66,Test_data_file_Id_Seq.nextval)
可以通过rownum进行 查询最后的一行数据,已经成功的发挥作用啦
以上是关于对已经存在的没有唯一标识的表添加一个自增的id字段(利用序列sequence)操作过程的主要内容,如果未能解决你的问题,请参考以下文章
求教在sqlserver2008中的表中怎么添加一列自增的列?