将空值插入 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)
只是不同数据库工具的不同渲染。
我有一个 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)
只是不同数据库工具的不同渲染。