将空值插入 Postgresql

to insert Empty value into Postgresql

我有一个 postgresql 数据库。我正在使用 liquibase 从 CSV 文件将数据插入 postgresql 中的 tables。 这里我有 table ABC,列类型为 SMALLINT。

CREATE TABLE ABC (
NAME VARCHAR(20),
REQUIRED SMALLINT DEFAULT 0,
SUMMARY VARCHAR(50)
);

我的 CSV

NAME,REQUIRED,SUMMARY
John,,Playing

我收到以下错误

liquibase.exception.DatabaseException: ERROR: syntax error at or near ","n 

变更集

<changeSet id="12345"
        author="test" runOnChange="true">
         <loadUpdateData
            encoding="UTF-8"
            file="/data/ABC.csv"
            quotchar=""
            separator=","
            tableName="ABC">
        <column name="NAME" type="STRING"/>
        <column name="REQUIRED" type="NUMERIC"/>
        <column name="SUMMARY" type="STRING"/>
    </loadUpdateData>
    </changeSet>

任何人都可以在这里帮忙。另一个问题是,为什么默认值在这种情况下不起作用?

Required 定义为 smallint - 这意味着它可以是 -32768 和 32767 之间的任何整数或 NULL.

NULL可以插入

NAME,REQUIRED,SUMMARY
John,NULL,Playing

无法将 '' 之类的内容插入到 int 列中。我假设 [NULL]empty(blank) 只是不同数据库工具的不同渲染。