• 在已有数据的表中添加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;
  • 相关阅读:
    Dijkstra单源最短路模板
    Naming Company CodeForces
    Naming Company CodeForces
    CF
    CF
    Present CodeForces
    9绑定方法与非绑定方法
    pycharm设置连接
    8封装的意义和拓展性
    property特性
  • 原文地址:https://www.cnblogs.com/zhaoxiong/p/8274334.html
Copyright © 2020-2023  润新知