📅  最后修改于: 2023-12-03 14:55:15.293000             🧑  作者: Mango
在 PostgreSQL 中,约束是与表的一些特定规则相关联的限制条件。这些约束可以是列级别或表级别。当我们需要更改表的约束时,我们可以使用 ALTER TABLE
命令。下面是一些我们可以更改的约束类型:
我们可以更改已经存在的表中的 PRIMARY KEY 约束。下面是更改 PRIMARY KEY 约束的命令:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name,
ADD PRIMARY KEY (column1, column2);
我们首先删除旧 PRIMARY KEY
约束,然后添加新的约束。其中 column1
和 column2
是新的 PRIMARY KEY。
更改已经存在的表中的 UNIQUE 约束也是很简单的。下面是更改 UNIQUE 约束的命令:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name,
ADD UNIQUE (column1, column2);
我们首先删除旧的 UNIQUE
约束,然后添加新的约束。其中 column1
和 column2
是新的 UNIQUE 约束。
更改已经存在的表中的 FOREIGN KEY 约束也是很简单的。下面是更改 FOREIGN KEY 约束的命令:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name,
ADD FOREIGN KEY (column1) REFERENCES other_table(column2);
我们首先删除旧的 FOREIGN KEY 约束,然后添加新的约束。其中 column1
是表中的列,other_table
是外部表,column2
是外部表中的列。
更改已经存在的表中的 CHECK 约束也是很简单的。下面是更改 CHECK 约束的命令:
ALTER TABLE table_name
DROP CONSTRAINT constraint_name,
ADD CHECK (column1 > 0 AND column2 < 100);
我们首先删除旧的 CHECK 约束,然后添加新的约束。其中 column1
和 column2
是表中的列,并且它们必须同时满足 CHECK 约束的条件。
以上就是更改约束的一些方法。希望这篇介绍对您有所帮助。