zoukankan      html  css  js  c++  java
  • 在已有数据的表中添加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;
  • 相关阅读:
    Oracle 归档模式
    如果在安装32位Oracle客户端组件的情况下64位模式运行, 将出现此问题.
    ORA-00972: 标识符过长
    Oracle SQL%ROWCOUNT
    ASP.NET Core 中间件的几种实现方式
    Python 闭包
    Python 迭代器
    Python 正则表达式提高
    Python正则表达式
    Python 生成器
  • 原文地址:https://www.cnblogs.com/zhaoxiong/p/8274334.html
Copyright © 2011-2022 走看看