当表中存在数据时,修改字段的类型不能那么简单的alter了
-- 修改原字段名
ALTER TABLE sina_weibo_user RENAME COLUMN user_num to user_num_back;
-- 添加一个和原字段同名的字段
ALTER TABLE sina_weibo_user ADD user_num VARCHAR2(12);
-- 将原来的数据更新到新字段中 这是要注意,一定要显示进行数据类型转换(不同于MSSQL)
UPDATE sina_weibo_user SET user_num = CAST(user_num_back AS VARCHAR2(12));
-- 删除原来的备份字段
ALTER TABLE sina_weibo_user DROP COLUMN user_num_back;
-- 修改原字段名
ALTER TABLE sina_weibo_user RENAME COLUMN user_num to user_num_back;
-- 添加一个和原字段同名的字段
ALTER TABLE sina_weibo_user ADD user_num VARCHAR2(12);
-- 将原来的数据更新到新字段中 这是要注意,一定要显示进行数据类型转换(不同于MSSQL)
UPDATE sina_weibo_user SET user_num = CAST(user_num_back AS VARCHAR2(12));
-- 删除原来的备份字段
ALTER TABLE sina_weibo_user DROP COLUMN user_num_back;
本文介绍了一种在Oracle数据库中安全地更改字段类型的方法。通过创建临时字段并使用显式类型转换来确保数据的准确迁移,避免直接ALTER字段类型可能带来的数据丢失风险。
738

被折叠的 条评论
为什么被折叠?



