• oracle数据库表的已经有数据,想修改某个字段的类型,如何修改


    一,alter table 表名 modify 字段名 字段类型(字段长度);

    如果不好使,就是用第二种方法:

    二,

    -- Create table
    create table TABLE1
    (
      col1 number(9),
      col2 char(20)
    );
    //尝试修改
    ALTER TABLE TABLE1 MODIFY COL1 NUMBER(10); --修改成功,因为表中无数据
    
    //插入数据
    INSERT INTO TABLE1 (COL1, COL2) VALUES (1, 'aaa');
    //再次尝试修改
    ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);--修改失败,因为表中已有数据,不允许直接操作
    //先缓存表
    CREATE TABLE T_TABLE1 AS SELECT * FROM TABLE1;
    //删除原表所有数据
    DELETE FROM TABLE1;
    //修改字段
    ALTER TABLE TABLE1 MODIFY COL1 NUMBER(9);--修改成功
    ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);--修改成功
    //插入原数据
    INSERT INTO TABLE1 SELECT * FROM T_TABLE1;
    //删除缓存表
    DROP TABLE T_TABLE1;
    
    //注意,如果是CHAR类型,不足位数会自动用空格补齐,所以谨慎使用CHAR类型,并可用TRIM()验证是否有符合条件的记录。
    //初始表结构时,SELECT * FROM TABLE1 WHERE COL2 = 'aaa‘; 是没有数据的,需要SELECT * FROM TABLE1 WHERE TRIM(COL2) = 'aaa';
  • 相关阅读:
    优化--工具
    架构
    Gradle
    战争迷雾
    进度管理
    工具
    架构
    牛人
    apk 破解
    效率
  • 原文地址:https://www.cnblogs.com/zhangxw1992/p/6605438.html
Copyright © 2020-2023  润新知