【问题标题】:DBeaver import csv empty string as NULL is not workingDBeaver 导入 csv 空字符串作为 NULL 不起作用
【发布时间】:2018-06-05 20:26:53
【问题描述】:

我有下表prop_info,其中有对desp 的外键引用。我正在尝试导入具有这些的 csv 文件

prop_code,prop_name,price
ABC,,1.2,
ABB,Apple,5.0,

CREATE TABLE prop_info (
 prop_code CHAR (3) PRIMARY KEY  NOT NULL,
 prop_name VARCHAR (100) REFERENCES desp (product_name) ON UPDATE CASCADE,
 price float NOT NULL
);

CREATE TABLE desp 
(
    product_name VARCHAR (100) PRIMARY KEY  NOT NULL,
    product_desp VARCHAR (100)
);

我尝试使用 DBeaver 上传 CSV,收到此错误:

错误:在表“prop_info”上插入或更新违反了外键约束“prop_info_prop_name_fkey”
详细信息:表“desp”中不存在键 (prop_name)=()。

根据 PostgreSQL,我确实有未加引号的空字符串。

指定表示空值的字符串。默认为 \N (反斜杠-N) 文本格式,CSV 中不带引号的空字符串 格式。即使是文本格式的案例,您也可能更喜欢空字符串 您不想将空值与空字符串区分开来。这 使用二进制格式时不允许使用选项。

这是我的 DBeaver 的问题吗?需要帮助。

【问题讨论】:

  • 向我们展示您的copy 声明。
  • 使用 dbeaver 从 csv 函数导入
  • 那么 Postgres 手册中的引用是无关紧要的,因为它适用于 COPY 命令。如果您可以告诉它将空字符串视为NULL,则需要检查 DBeaver 中的选项

标签: postgresql csv dbeaver


【解决方案1】:

有一个选项 Set empty strings to NULL 在 DBeaver 21.3.4 社区版中对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 2012-11-18
    • 2017-12-07
    • 2015-06-10
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多