在已有數據的表中添加id字段並且自增


各位大牛,小弟在開發過程中,遇到了這樣一個問題,由於新功能的增加需要使原有的一張表的結構作出調整,需要添加一個id主鍵字段,但是因為表里有很多數據了,所以,怎樣才能添加這個字段,並且使原有的數據也能夠獲得id呢?表名為:PROJECT_COLUMN ,請各位大牛幫幫忙,在線等!

兩個方法:
1,重新創建一個表,然后創建一個序列,把老數據導入新表,刪除老表,修改新表名字為老表
2,直接在原來表上增加一個字段,創建一個序列,通過更新的方式修改老數據的這個字段
 
create sequence seq_a_id
minvalue 1
maxvalue 999999999999999
start with 1
increment by 1
nocache;
update a set id = seq_a_id.nextval
 
--創建序列器
CREATE SEQUENCE ID_seq
 START WITH     1
 INCREMENT BY   1
 MINVALUE   1
 NOMAXVALUE
 ORDER
 NOCACHE
 NOCYCLE;
--創建新表
create table PROJECT_COLUMN_COPY(
    id int primary key default ID_seq.nextval,
    COLUMN01 varchar2(20),
    COLUMN02 varchar2(20),
    COLUMN03 number(9,3),
    ...
)
--轉移數據
insert into PROJECT_COLUMN_COPY (COLUMN01 ,COLUMN02 ,COLUMN03 ,... )
select * from PROJECT_COLUMN;
--刪除舊表
drop table PROJECT_COLUMN;
--修改表名
alter table PROJECT_COLUMN_COPY rename to PROJECT_COLUMN;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM