PostgreSQL 从 TEXT 迁移到 INTEGER,现有数据可以为空

问题描述 投票:0回答:0

我正在尝试在 PostgreSQL 数据库中执行从

TEXT
INTEGER
的更改表列更改,如下所示:

ALTER TABLE analyzer_parser_event
ALTER COLUMN error_id TYPE INTEGER USING (error_id::integer);

问题是我已经有了

error_id
可以是
NULL
的现有数据。这会导致错误:

Statement  : ALTER TABLE analyzer_parser_event
    ALTER COLUMN error_id TYPE INTEGER USING (error_id::integer)

Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type integer: "NULL"

我正在尝试

NULLIF
指导,但它没有帮助我。

如何避免这个错误?

sql postgresql flyway alter-table
© www.soinside.com 2019 - 2024. All rights reserved.