POSTGRESQL- 使外键列指向另一个 table
POSTGRESQL- Make foreign key column point to another table
我正在使用 psql,我想更改 table 的其中一列。
目前此列是 Table 2 的外键,但我想让它指向 Table 3。
这可能吗,还是我应该删除该列并添加一个新列?
无需添加和删除列。您可以 remove/disable 将约束添加到一个 table 并将其添加到另一个 table.
执行前者的命令是:
alter table Table1 drop constraint if exists name_of_constraint_on_Table_1_column
执行后者的命令是:
alter table Table1
add constraint name_of_constraint_on_Table_1_column
foreign key (column) references Table3 (other_column) match full
如果您没有明确命名,您需要找到外键约束的名称。您可以通过 \d
命令执行此操作:
\d Table1
您应该阅读有关 alter table
的内容,因为您可以做很多事情来更改 table。
我正在使用 psql,我想更改 table 的其中一列。 目前此列是 Table 2 的外键,但我想让它指向 Table 3。
这可能吗,还是我应该删除该列并添加一个新列?
无需添加和删除列。您可以 remove/disable 将约束添加到一个 table 并将其添加到另一个 table.
执行前者的命令是:
alter table Table1 drop constraint if exists name_of_constraint_on_Table_1_column
执行后者的命令是:
alter table Table1
add constraint name_of_constraint_on_Table_1_column
foreign key (column) references Table3 (other_column) match full
如果您没有明确命名,您需要找到外键约束的名称。您可以通过 \d
命令执行此操作:
\d Table1
您应该阅读有关 alter table
的内容,因为您可以做很多事情来更改 table。