PostgreSQL 外键约束中的意外值

Unexpected value in PostgreSQL foreign key constraint

我有两个 table,profilescities,我想添加一列 city_idprofiles table 作为外键并使其引用 cities table 中的 id 列。所以我运行下面的代码:

alter table profiles add column city_id integer REFERENCES cities(id);

奇怪的是,当我查看 profiles table DDL 时,我看到以下内容:

FOREIGN KEY ("30") REFERENCES public.cities (id)
MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION

当我预期的时候

FOREIGN KEY (city_id) REFERENCES public.cities (id)
MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION

我做错了什么?

我认为这可能是新 JetBrains 的 DataGrip IDE 中的错误,因为当我使用 pgAdmin 时,我看到了我的预期:

CONSTRAINT profiles_city_id_fkey FOREIGN KEY (city_id)
REFERENCES cities (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION  

可能是您使用上下文菜单中的 "copy DDL"。 试试这个: — 在 table 上按 Ctrl+q(Mac 上的 Ctrl+j),或者 — 双击对象然后选择 DDL 选项卡(而不是 "Data")