📜  postgre 更改表外键 (1)

📅  最后修改于: 2023-12-03 15:03:48.757000             🧑  作者: Mango

Postgresql 更改表外键

外键是表与表之间的关联关系,用于保证数据的一致性和完整性。PostgreSQL 提供了更改表外键的功能,可以在已创建的表中加入或删除外键约束。

加入外键约束

在已有的表中加入外键约束,需要使用 ALTER TABLE 命令。下面是一些示例:

添加单个外键约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenced_column_name);
  • table_name:要添加外键约束的表名。
  • constraint_name:外键约束的名称。
  • column_name:当前表中需要添加外键约束的列名。
  • referenced_table_name:被引用表的表名。
  • referenced_column_name:被引用表的列名。
添加多个外键约束
ALTER TABLE table_name
ADD CONSTRAINT constraint_name1
FOREIGN KEY (column_name1) REFERENCES referenced_table_name1 (referenced_column_name1),
ADD CONSTRAINT constraint_name2
FOREIGN KEY (column_name2) REFERENCES referenced_table_name2 (referenced_column_name2);
  • table_name:要添加外键约束的表名。
  • constraint_name1constraint_name2:外键约束的名称。
  • column_name1column_name2:当前表中需要添加外键约束的列名。
  • referenced_table_name1referenced_table_name2:被引用表的表名。
  • referenced_column_name1referenced_column_name2:被引用表的列名。
删除外键约束

在已有的表中删除外键约束,同样需要使用 ALTER TABLE 命令。下面是一些示例:

删除单个外键约束
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
  • table_name:要删除外键约束的表名。
  • constraint_name:需要删除的外键约束名称。
删除多个外键约束
ALTER TABLE table_name
DROP CONSTRAINT constraint_name1,
DROP CONSTRAINT constraint_name2;
  • table_name:要删除外键约束的表名。
  • constraint_name1constraint_name2:需要删除的外键约束名称。
注意事项
  • 添加外键约束时,需要保证被引用表中对应的列上有唯一索引或主键;
  • 删除外键约束时,需要保证当前表中没有关联的数据,否则操作会失败。

以上内容仅是关于 Postgresql 更改表外键的简单介绍,更多详细信息请参考官方文档。