CREATE TABLE SPONSORSHIP 中的 UNIQUE CONSTRAINT 含义
UNIQUE CONSTRAINT Meaning in CREATE TABLE SPONSORSHIP
想知道UNIQUE约束是什么意思,是生成的脚本,是关于赞助的,不是必须的吗?
CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt, id_pers_cpt_PERSONNE_COMPTE)
Table:
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;
UNIQUE 约束确保列中的所有值都是
不一样。
UNIQUE 和 PRIMARY KEY 约束都为
一列或一组列的唯一性。
PRIMARY KEY 约束自动具有 UNIQUE 约束。
但是,每个 table 可以有很多 UNIQUE 约束,但只有一个
每个 table.
的 PRIMARY KEY 约束
在您的 table id_parrainage
主键和 id_pers_cpt
唯一键中都不会重复
id_parrainage
列将不允许空值,并且
id_pers_cpt
不允许空值
table 似乎与两个人有关:
- id_pers_cpt
- id_pers_cpt_PERSONNE_COMPTE
约束条件
CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt)
保证id_pers_cpt
在table中只能出现一次。因此,一个 id_pers_cpt_PERSONNE_COMPTE
可以与多个 id_pers_cpt
相关,但是一个 id_pers_cpt
只能与一个 id_pers_cpt_PERSONNE_COMPTE
.
相关
这使它成为 pers_cpt
table,每个 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)
想知道UNIQUE约束是什么意思,是生成的脚本,是关于赞助的,不是必须的吗?
CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt, id_pers_cpt_PERSONNE_COMPTE)
Table:
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;
UNIQUE 约束确保列中的所有值都是 不一样。
UNIQUE 和 PRIMARY KEY 约束都为 一列或一组列的唯一性。
PRIMARY KEY 约束自动具有 UNIQUE 约束。
但是,每个 table 可以有很多 UNIQUE 约束,但只有一个 每个 table.
的 PRIMARY KEY 约束
在您的 table id_parrainage
主键和 id_pers_cpt
唯一键中都不会重复
id_parrainage
列将不允许空值,并且
id_pers_cpt
不允许空值
table 似乎与两个人有关:
- id_pers_cpt
- id_pers_cpt_PERSONNE_COMPTE
约束条件
CONSTRAINT PARRAINAGE_PERSONNE_COMPTE_AK UNIQUE (id_pers_cpt)
保证id_pers_cpt
在table中只能出现一次。因此,一个 id_pers_cpt_PERSONNE_COMPTE
可以与多个 id_pers_cpt
相关,但是一个 id_pers_cpt
只能与一个 id_pers_cpt_PERSONNE_COMPTE
.
这使它成为 pers_cpt
table,每个 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)