首页 > 解决方案 > postgresql,表错误中不存在键,但表中存在键

问题描述

我有桌子providers,和provider_groups

providers

create table providers
(
    id integer not null constraint providers_pkey primary key,
    available         boolean not null,
);

provider_groups


create table provider_groups
(
    id integer  not null provider_groups_pkey primary key,
    provider_id integer not null constraint fk_237d25c5d3e1ebb8
            references providers on delete cascade,
    type              varchar(100) not null
);


create index idx_237d25c5d3e1ebb8
    on provider_groups (provider_id);

以及我的应用程序(使用 ORM 学说)试图为某些提供者及其相关组更新数据。我确定提供者和组都存在于数据库中,但由于某种原因它失败并出现错误

  SQLSTATE[23503]: Foreign key violation: 7 ERROR:  insert or update on table "provider_groups" violates foreign key constraint "fk_237d25c5d3e1ebb8"\n
    DETAIL:  Key (provider_id)=(28007) is not present in table "providers".

但正如我提到的那样,我可以通过数据库 UI 看到它。

我做错了什么???它是否与数据库端的某些缓存有关,因为它是一个运行了一段时间的非常古老的逻辑,并且该错误现在才出现......谢谢您的建议!

标签: postgresqldoctrine-orm

解决方案


推荐阅读