【发布时间】:2020-11-17 06:52:29
【问题描述】:
我正在使用 PG_Admin 工具对 PostgreSQL 进行批量插入,表字段 anamnesa_id 包含与其他表 pasien_anamnesa 的 ForeignKey 关系,
有没有办法在插入所有查询时忽略或跳过(其他表中不存在)错误?因为对于这么多数据(25.000 条记录)来说,逐个删除错误查询是不可能的,
我正在尝试:
INSERT INTO "pasien_item" ("id", "anamnesa_id") VALUES (1, 2) ON CONFLICT ON CONSTRAINT pasien_item_pkey DO NOTHING;
产生的错误:
ERROR: insert or update on table "pasien_item" violates foreign key constraint "pasien_item_anamnesa_id_dc66b31b_fk_pasien_anamnesa_id"
DETAIL: Key (anamnesa_id)=(2) is not present in table "pasien_anamnesa".
SQL state: 23503
我也尝试过这个错误:
INSERT INTO "pasien_item" ("id", "anamnesa_id") VALUES (1, 2) ON CONFLICT ON CONSTRAINT pasien_item_anamnesa_id_dc66b31b_fk_pasien_anamnesa_id DO NOTHING;
产生的错误:
ERROR: constraint in ON CONFLICT clause has no associated index
SQL state: 42809
【问题讨论】:
标签: postgresql foreign-keys sql-insert