Ian*_*non 70 postgresql constraints naming-conventions
在PostgreSQL中创建表时,如果未提供,将分配默认约束名称:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
Run Code Online (Sandbox Code Playgroud)
但是使用ALTER TABLE添加约束似乎是名称是强制性的:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
Run Code Online (Sandbox Code Playgroud)
这导致了我所参与的项目的一些命名不一致,并提示以下问题:
有没有一种简单的方法可以在现有表中添加一个约束,如果在表创建期间添加了该约束,它将会收到该名称?
如果没有,是否应该完全避免默认名称以防止出现不一致?
Fra*_*ens 224
PostgreSQL中索引的标准名称是:
{tablename}_{columnname(s)}_{suffix}
其中后缀为以下之一:
pkey 对于主键约束key 对于唯一约束excl 对于排除约束idx 对于任何其他类型的索引fkey 对于外键check 对于检查约束序列的标准后缀是
seq 对于所有序列您的UNIQUE约束的证明:
注意:CREATE TABLE/UNIQUE将为表"example"创建隐式索引"example_a_b_key"
| 归档时间: |
|
| 查看次数: |
27364 次 |
| 最近记录: |