postgres 7.0版本,怎么样去用sql,把一个int型的字段,改成varchar型啊?在8.0版本中,可 以
ALTER TABLE "public"."itemdb_3"
  ALTER COLUMN "parents_item_id" TYPE VARCHAR(128);但在7.0下面,行不通。急!!

解决方案 »

  1.   

    新建一个VARCHAR字段,再UPDATE这个字段不行?
      

  2.   

    PostgreSQL 7.4.23 只支持 在表中添加新列,删除列,列改名. 不支持更改列的数据类型。到 PostgreSQL 8.0 以后才支持数据类型的更改。只能如上所说的新加一列,然后把数据复制过去再删除原列,再改名。ALTER TABLE itemdb_3 ADD COLUMN parents_item_id_n varchar(128);
    update itemdb_3 set parents_item_id_n=parents_item_id;
    ALTER TABLE itemdb_3 DROP COLUMN parents_item_id;
    ALTER TABLE itemdb_3 RENAME COLUMN parents_item_id_n TO parents_item_id;