【发布时间】: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