【发布时间】:2016-10-03 08:55:45
【问题描述】:
我有一个具有以下约束的 PostgeresDB:
CONSTRAINT "Car_Data_3PM_pkey" PRIMARY KEY ("F_ID", "Date"),
CONSTRAINT "Car_Data_3PM_F_ID_fkey" FOREIGN KEY ("F_ID")
REFERENCES "Bike_Data" ("F_ID") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
当我尝试使用以下方法插入多个值时:
INSERT INTO "Car_Data_3PM" ("F_ID","Date","Price_Type","O","H","L","LT","EQ","V","NAD") VALUES (38,'2016-10-02 08:19:40.056679','x',0,0,0,112.145,0,0,112.145),(14,'2016-10-02 08:19:40.056679','x',0,0,0,5476,0,0,5476),(13,'2016-10-02
我得到这个错误:
错误:在表“Car_Data_3PM”上插入或更新违反了外键 约束“Car_Data_3PM_F_ID_fkey” SQL 状态:23503 详细信息:键 (F_ID)=(38) 不在表“Bike_Data”中。
没有插入任何行。
我怎样才能让 Postgres 只漏掉存在约束问题的行?即插入大部分?
【问题讨论】:
-
不相关,但是:您应该真的避免使用带引号的标识符。他们的麻烦比他们值得的要麻烦得多。
标签: postgresql