我试图创建一个查询,将表rgn_no
中chp_cd
和bue
的值更新为表rgn_no
中chp_cd
和chapterassociation
的值。我不认为WHERE子句有任何问题,但是当我运行它时会出现以下错误:
SQL错误:
ERROR: insert or update on table "bue" violates foreign key constraint "bue_chp_cd_fkey"
DETAIL: Key (chp_cd)=(CA3) is not present in table "chapter".
非常感谢您的帮助!
SQL查询:
UPDATE bue SET
rgn_no = chapterassociation.rgn_no,
chp_cd = chapterassociation.chp_cd
FROM
chapterassociation
WHERE
bue.mbr_no IS NULL AND bue.chp_cd IS NULL
AND bue.work_state = chapterassociation.work_state
AND bue.bgu_cd = chapterassociation.bgu_cd
最佳答案
读取错误消息:
ERROR: insert or update on table "bue" violates foreign key constraint
"bue_chp_cd_fkey" DETAIL: Key (chp_cd)=(CA3) is not present in table "chapter".
它说您的一个更新想要将chp_cd设置为'CA3',但是CA3不是允许的值,因为外键约束希望值'CA3'出现在表“chapter”中。这就是全部。
查询的语法没有问题,只是查询会导致数据与数据模型中的约束冲突。
关于sql - PostgreSQL数据库-错误协助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10387188/