PostgreSQL 外键约束中的意外值
Unexpected value in PostgreSQL foreign key constraint
我有两个 table,profiles
和 cities
,我想添加一列 city_id
到 profiles
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")
我有两个 table,profiles
和 cities
,我想添加一列 city_id
到 profiles
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")