问题描述:
CREATE TABLE TEST(
col1 integer,
col2 integer
);
希望把col2的字段类型换成Decimal(18,2)
解决方案:
1、
create table TEST_TMP(
col1 integer,
col2 decimal(18,2)
);
insert into TEST_TMP select * from TEST;
DROP TABLE TEST;
RENAME TABLE TEST_TMP to TEST;
优点:操作时间较短
缺点:占用双倍的空间
2、
alter table TEST add col3 decimal(18,2);
update TEST set col3=col2;
alter table TEST drop col2;
alter table TEST rename col3 to col2;
有点:占用空间较小(只是占用了一倍多些的col2空间)
缺点:update明显没有上面的select/insert效率高,同时这还会造成TEST的version升高。
阅读(914) | 评论(2) | 转发(0) |