【问题标题】:UNIQUE CONSTRAINT Meaning in CREATE TABLE SPONSORSHIPCREATE TABLE SPONSORSHIP 中的 UNIQUE CONSTRAINT 含义
【发布时间】:2019-02-11 16:10:16
【问题描述】:

我想知道 UNIQUE 约束的含义,它是一个生成的脚本,它涉及赞助,它不必是相当的吗?

CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt, id_pers_cpt_PERSONNE_COMPTE) 

表:

CREATE TABLE PARRAINAGE
(
    id_parrainage               Int  Auto_increment  NOT NULL ,
    date                        Date NOT NULL ,
    id_pers_cpt                 Int NOT NULL ,
    id_pers_cpt_PERSONNE_COMPTE Int NOT NULL ,
    id_etab                     Int,
    CONSTRAINT PARRAINAGE_PK PRIMARY KEY (id_parrainage)
   ,CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_FK FOREIGN KEY (id_pers_cpt) REFERENCES PERSONNE_COMPTE(id_pers_cpt)
   ,CONSTRAINT PARRAINAGE_PERSONNE_COMPTE0_FK FOREIGN KEY (id_pers_cpt_PERSONNE_COMPTE) REFERENCES PERSONNE_COMPTE(id_pers_cpt)
   ,CONSTRAINT PARRAINAGE_ETABLISSEMENT1_FK FOREIGN KEY (id_etab) REFERENCES ETABLISSEMENT(id_etab)
   ,CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt)

)ENGINE=InnoDB;

【问题讨论】:

标签: mysql sql create-table


【解决方案1】:
  • UNIQUE 约束确保列中的所有值都是 不同。

    UNIQUE 和 PRIMARY KEY 约束都为 一列或一组列的唯一性。

    PRIMARY KEY 约束自动具有 UNIQUE 约束。

    但是,每个表可以有许多 UNIQUE 约束,但只有一个 每个表的 PRIMARY KEY 约束。

在您的表中,id_parrainage 主键和 id_pers_cpt 唯一键都不会重复

id_parrainage 列不允许空值,并且 id_pers_cpt 不允许空值

【讨论】:

  • 空值呢?
  • @jarlh ansi sql 将允许多个,mysql 也允许,但 mssql 允许一个
  • Opps 抱歉谢谢我,虽然它是我编辑的唯一键
【解决方案2】:

该表似乎与两个人有关:

  • id_pers_cpt
  • id_pers_cpt_PERSONNE_COMPTE

约束

CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt)

确保id_pers_cpt 在表格中只能出现一次。因此,一个id_pers_cpt_PERSONNE_COMPTE 可以与多个id_pers_cpt 相关联,但一个id_pers_cpt 只能与一个id_pers_cpt_PERSONNE_COMPTE 相关联。

这使它成为一个pers_cpt 表,每个id_pers_cpt 有一条记录。如果你想让一个id_pers_cpt 与多个id_pers_cpt_PERSONNE_COMPTE 相关联,那么你需要你提到的约束:

CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt, id_pers_cpt_PERSONNE_COMPTE) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 2014-08-11
    • 2010-11-13
    • 2012-03-01
    • 2020-08-11
    • 2012-01-16
    • 1970-01-01
    相关资源
    最近更新 更多