PostgreSQL创建外键提示引用表无匹配唯一约束问题排查
问题原因
gimnasio_competencia表的主键为(nombre, tiempo_inauguracion)联合主键,唯一性约束仅作用于两个字段的组合值,单个字段本身不具备唯一性,不符合外键引用目标的要求。你当前拆分创建了两个独立的单字段外键,分别引用联合主键中的单个字段,不符合PostgreSQL外键规则。
修复方案
将两个字段合并为联合外键,完整引用目标表的联合主键即可,修改后的SQL语句如下:
ALTER TABLE posee_ge ADD FOREIGN KEY(nombre_gim_comp, tiempo_inauguracion_gim_comp) REFERENCES gimnasio_competencia(nombre, tiempo_inauguracion);
内容的提问来源于stack exchange,提问作者ESCM
相关产品推荐
相关产品推荐

