oracle数据库更改字段类型比较墨迹,因为如果该字段有值,是不允许直接更改字段类型的。另外oralce不支持在指定的某个字段后面新增一个字段,但是mysql数据可以向指定的字段后面新增一个字段。
mysql向指定字段后面新增一个字段:
alter table exam add 新增字段名 新增字段类型 after 指定字段名
oracle如果要修改字段类型,得分开实现,但是唯一缺点是字段顺序变了。
例如:在tab_user表addr字段类型为int,更改为varchar2(30)
1、新增一个字段,类型为varchar2(30)
alter table tab_user addr_new varchar(30);
2、把addr字段的值赋值给新增字段addr_new
update tab_user set addr_new=addr;
3、把原字段addr删除
alter talbe tab_user drop column addr;
4、把新增字段addr_new改名为addr
alter table tab_user rename column addr_new to addr;