gpt4 book ai didi

PostgreSQL:默认约束名称

转载 作者:行者123 更新时间:2023-11-29 11:05:16 25 4
gpt4 key购买 nike

在 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);

这导致了我所从事的项目的一些命名不一致,并提示了以下问题:

  1. 是否有一种简单的方法可以使用在创建表时添加的名称向现存表添加约束?

  2. 如果不是,是否应该完全避免使用默认名称以防止不一致?

最佳答案

PostgreSQL 中索引的标准名称是:

{tablename}_{columnname(s)}_{suffix}

后缀是以下之一:

  • pkey 用于主键约束
  • key 用于唯一约束
  • excl 用于排除约束
  • idx 用于任何其他类型的索引
  • fkey 外键
  • 检查检查约束

序列的标准后缀是

  • seq 所有序列

您的 UNIQUE 约束证明:

NOTICE: CREATE TABLE / UNIQUE will create implicit index "example_a_b_key" for table "example"

关于PostgreSQL:默认约束名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4107915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com