【发布时间】:2015-10-03 13:16:04
【问题描述】:
当表名已更改时,如何更改对 PostgreSQL 中表的引用?
说我有:
CREATE TABLE example1 (
id serial NOT NULL PRIMARY KEY,
name varchar(100)
);
CREATE TABLE example2 (
id serial NOT NULL PRIMARY KEY,
example1fk integer REFERENCES example1 (id) DEFERRABLE INITIALLY DEFERRED
);
稍后我会这样做:
ALTER TABLE example1 RENAME TO example3;
如何改变外键约束的定义?
example1fk integer REFERENCES example1 (id) DEFERRABLE INITIALLY DEFERRED,
【问题讨论】:
-
首先,为了帮助您搜索,这称为外键约束。其次,我不清楚你想做什么。重命名后约束将继续指向表 - Postgres 允许它指向不存在的名称是没有意义的。还是您的意思是要重命名列
example1fk以匹配新表名? -
IMSoP 是对的:您无需做任何事情。 Postgres 会处理一切。
-
您是否尝试过重命名并查看它对 FK 约束的影响?
标签: postgresql foreign-keys ddl alter-table