Oracle修改字段類型報錯:“ORA-01439:要更改數據類型,則要修改的列必須為空”


在oracle修改user表字段name類型時遇到報錯:“ORA-01439:要更改數據類型,則要修改的列必須為空”,是因為要修改字段的新類型和原來的類型不兼容。

如果要修改的字段數據為空時,則不會報這種類型的錯誤,可以進行字段類型的修改。

alter table user modify (name varchar2(20));

要修改字段的新類型和原來的類型不兼容時,可以通過如下方式解決該問題:

1、修改原字段名name為臨時字段name_new;

alter table user rename column name to name_new ;

2、添加一個新字段名稱和原來字段名相同,name,類型為要修改的新類型;

alter table user add(name varcher2(50));

3、把臨時字段name_new的數據更新到新添加的字段name中;

update user set name = trim(name_new);

4、刪除臨時字段name_new;

alter table user drop column name_new ; 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM