目录

前言

1.创建表时增加外键

2.已存在表增加外键

参考资料

前言

使用MySQL关联数据表时,创建外键的两种方式:创建表时增加外键,已存在表增加外键。以下案例通过Navicat for MySQL实现。

1.创建表时增加外键

首先创建第一张被关联表Vendors商品供应商表。

-- 供应商列表

CREATE TABLE Vendors (

-- 供应商ID:主键列,自增长

vend_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '供应商ID',

-- 供应商名:可变字符,非空

vend_name VARCHAR (30) NOT NULL COMMENT '供应商名',

-- 供应商地址

vend_address VARCHAR (100) NOT NULL COMMENT '地址',

-- 供应商城市

vend_city VARCHAR (20) NOT NULL COMMENT '城市',

-- 供应商州

vend_state VARCHAR (20) NOT NULL COMMENT '州',

-- 供应商邮编

vend_zip VARCHAR (20) NOT NULL COMMENT '邮编',

-- 供应商国家

vend_country VARCHAR (20) NOT NULL COMMENT '国家'

);

然后创建第二张关联表Products产品表。

-- 产品目录表

CREATE TABLE Products (

-- 产品ID:主键列,自增长

prod_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,

-- 供应商ID:外键

vend_id INT NOT NULL COMMENT '供应商ID',

-- 产品名

prod_name VARCHAR (30) NOT NULL COMMENT '产品名',

-- 产品价格

prod_price DOUBLE NOT NULL COMMENT '产品价格',

-- 产品描述

prod_desc VARCHAR (100) COMMENT '产品描述',

FOREIGN KEY (vend_id) REFERENCES Vendors (vend_id)

);

可以看到已经通过外键关联起来。

2.已存在表增加外键

首先删除刚才两张表所创建的外键。

然后通过下面指令对已经存在的表增加外键。语法如下:

ALTER TABLE 表名 ADD FOREIGN KEY [外键名字] (外键字段) REFERENCES 父表 (主键字段);

-- 已存在表增加外键

ALTER TABLE Products ADD FOREIGN KEY products_vendors_fk_1 (vend_id) REFERENCES Vendors (vend_id);

可以看到添加外键成功。

参考资料​​​​​​​

MySQL增加外键的两种方式和案例