将空值插入 Postgresql
Posted
技术标签:
【中文标题】将空值插入 Postgresql【英文标题】:to insert Empty value into Postgresql 【发布时间】:2020-11-06 14:04:32 【问题描述】:我有一个 postgresql 数据库。我正在使用 liquibase 将数据从 CSV 文件插入到 postgresql 中的表中。 在这里,我有表 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>
任何人都可以在这里提供帮助。另一个问题是,为什么默认在这种情况下不起作用?
【问题讨论】:
你可以试试John,NULL,Playing
@PhilippJohannis ,它在表中存储为 [NULL]。好吗。在以前的数据库中,表中的字段为空(空白)。
【参考方案1】:
Required
定义为 smallint
- 这意味着它可以是介于 -32768 和 32767 或 NULL
之间的任何整数。
NULL
可以插入
NAME,REQUIRED,SUMMARY
John,NULL,Playing
''
之类的内容无法插入到 int 列中。我假设[NULL]
和empty(blank)
只是不同数据库工具的不同渲染。
【讨论】:
以上是关于将空值插入 Postgresql的主要内容,如果未能解决你的问题,请参考以下文章