0
在这条SQL语句如何忽略在Postgres INSERT INTO中违反外键约束的行?
INSERT INTO child (parentId, value) SELECT parentId, value FROM temptable
child.parentId
是一个外键指向parent.id
。当长期运行的INSERT INTO
语句(可能会插入多达几百万行)正在运行时,可能会随时删除parent
表中的行。
如果child
表在parent
以前的INSERT INTO
声明中没有相应的外键开始运行,或者从child
引用的parent
表中的行被删除而这INSERT INTO
运行时,我想的INSERT INTO
默默地忽略该特定行(并简单地跳过插入到child
违反外键约束的行)而不是整个语句失败。
我该如何做到这一点?在这种情况下,我不熟悉任何竞态条件如何工作。