【问题标题】:PostgreSQL: is it possible to provide custom name for PRIMARY KEY or UNIQUE?PostgreSQL:是否可以为 PRIMARY KEY 或 UNIQUE 提供自定义名称?
【发布时间】:2011-12-29 23:11:04
【问题描述】:

当我写作时:

 CREATE TABLE accounts (

     username varchar(64) PRIMARY KEY,

我的主键名为:

accounts_pkey

是否可以指定我自己的自定义名称,例如“accounts_primary_key”?

关于UNIQUE的同样故事。

我在 PostgreSQL 文档中找不到它。

提前致谢。

【问题讨论】:

    标签: postgresql indexing primary-key constraints unique-key


    【解决方案1】:

    诀窍是CREATE TABLEcolumn_constraint 部分中的CONSTRAINT 部分。示例:

    > create table x(xx text constraint xxxx primary key);
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "xxxx" for table "x"
    CREATE TABLE
    

    这适用于所有类型的约束,包括 PRIMARY KEYUNIQUE

    详情请参阅CREATE TABLE 的文档。

    【讨论】:

    • 我想我需要更彻底地研究 Postgres 文档。 :-) 谢谢!
    • 这适用于EXCLUDE 约束吗?我不知道如何将它们明确命名为CREATE TABLE 语句的一部分。
    • @bjmc:阅读实际文档EXCLUDE 是表约束而不是列约束。所以语法是create table x(xx text, constraint xxxx exclude ...);——注意列定义和表约束之间的,
    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    相关资源
    最近更新 更多