多语言展示
当前在线:142今日阅读:39今日分享:10

mysql外键的介绍

—主外键是构成表与表关联的唯一途径!
工具/原料

mysql

方法/步骤
1

—主外键是构成表与表关联的唯一途径! —外键是另一张表的主键!例如员工表与部门表之间就存在关联关系,其中员工表中的部门编号字段就是外键,是相对部门表的外键。  我们再来看BBS系统中:用户表(t_user)、分类表(t_section)、帖子表(t_topic)三者之间的关系

3

—创建t_user表,指定uid为主键列:CREATE TABLE t_user(  uid  INT PRIMARY KEY AUTO_INCREMENT,  uname  VARCHAR(20) UNIQUE NOT NULL);

4

—创建t_section表,指定sid为主键列,u_id为相对t_user表的uid列的外键:CREATE TABLE t_section(  sid  INT PRIMARY KEY AUTO_INCREMENT,  sname  VARCHAR(30),  u_id  INT,  CONSTRAINT fk_t_user FOREIGN KEY(u_id) REFERENCES t_user(uid));

5

—修改t_section表,指定u_id为相对t_user表的uid列的外键:ALTER TABLE t_sectionADD CONSTRAINT fk_t_userFOREIGN KEY(u_id)REFERENCES t_user(uid);—修改t_section表,删除u_id的外键约束:ALTER TABLE t_sectionDROP FOREIGN KEY fk_t_user;

6

—一对一:例如t_person表和t_card表,即人和身份证。这种情况需要找出主从关系,即谁是主表,谁是从表。人可以没有身份证,但身份证必须要有人才行,所以人是主表,而身份证是从表。设计从表可以有两种方案: —在t_card表中添加外键列(相对t_user表),并且给外键添加唯一约束; —给t_card表的主键添加外键约束(相对t_user表),即t_card表的主键也是外键。

推荐信息