Database POSTGRESQL-使外键列指向另一个表

Database POSTGRESQL-使外键列指向另一个表,database,foreign-keys,psql,Database,Foreign Keys,Psql,我正在使用psql,我想更改表中的一列。 目前,该列是表2的外键,但我想指出表3 这是可能的,还是应该删除该列并添加一个新列?无需添加和删除该列。您可以删除/禁用一个表的约束,然后将其添加到另一个表 执行前者的命令是: alter table Table1 drop constraint if exists name_of_constraint_on_Table_1_column 执行后者的命令是: alter table Table1 add constraint name_of_const

我正在使用psql,我想更改表中的一列。 目前,该列是表2的外键,但我想指出表3


这是可能的,还是应该删除该列并添加一个新列?

无需添加和删除该列。您可以删除/禁用一个表的约束,然后将其添加到另一个表

执行前者的命令是:

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

你应该读一下,因为你可以做很多事情来改变表格。

什么是
匹配完整的
?为什么不改用
delerable initially deferred