问题:遇到一个需要对已有数据进行字段类型修改的需求,但是因为该列数据不为空,在使用下列命令
alter table tableName modify (columnName 数据类型);
示例:
alter table tableName modify (id varchar2(100));
修改的时候会提示列不为空不让修改,解决方法:
1,新建一列
2,把某一列的旧值完全复制给新建列
3,修改名称,删除新建的列
示例代码:
1,新增一列
alter table A add(CFYJSNR varchar2(20));
示例:
alter table A add(username varchar2(20));
2,把某一列的旧值完全复制给新建列
update [表名] set [旧列]=[新列];
示例:
update table set oldColumn=newColumn;
3,修改列名称,删除新建的列
删除数据库一列
alter table A drop column CFYJSNR;
示例:
alter table user drop column username;
修改新建列的名字为旧列的名字
alter table tableName rename column oldName to newName;
示例:
alter table tableName rename column oldName to newName;