在PostgreSQL中创建表时,如果未提供默认约束名称,则会指定默认约束名称:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
但使用ALTER TABLE
来添加一个约束,似乎一个名称是必须的:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
这导致我参与的项目出现了一些命名不一致的情况,并引发了以下问题:
有没有一种简单的方法可以将约束添加到现有表中,如果在表创建过程中添加约束,它会收到一个名称?
如果不是,是否应该完全避免使用默认名称以防止不一致?