今天遇到一个问题,有个表的一个字段的长度需要扩充,本来是varchar(255),结果需要扩展到500
执行命令 alter table tab_1 modify col1 varchar(500);
结果报错。
错误信息提示: ALTER TABLE MODIFY <column> <datatype> is not supported.
奇怪怎么会不支持呢,我特地查了一下文档,语法是没有问题的,就是执行不过去。
后来咨询了一下Sybase公司,他们说我们的版本12.7不支持这样的写法。建议我通过重建表解决。
放下电话心里多少有些不爽,这么简单的操作都不支持!
我的字段就一个其实不必重建表。
我是这样操作的
alter table tab_1 add col2 varchar(500);
update tab_1 set col2=col1;
commit;
alter table tab_1 drop col1;
alter table tab_1 rename col2 to col1;
字段少我觉得这个方法简单,若是字段较多的话还是先将数据导出,重建表然后load进去比较省事。