Tag: alter table

如何将表列转换为另一种数据类型

我的Postgres数据库中有一个Varchar类型的列,我想要整数…现在我想要更改它们,不幸的是,这似乎不能使用我的rails迁移。 change_column :table1, :columnB, :integer 这似乎输出这个SQL: ALTER TABLE table1 ALTER COLUMN columnB TYPE integer 所以我试着这样做: execute ‘ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)’ 但是在这个实例中,强制转换不起作用,因为某些列为空… 有任何想法吗? 错误: PGError: ERROR: invalid input syntax for integer: “” : ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER) Postgres v8.3