MySQL-外键索引

一.外键索引

  • 如果数据表含有从属关系,比如部门和员工, 教室和桌椅,班级和同学就可以使用一对多的制表关系
  • 一的一方定义为主表, 多的一方定义为从表
  • 在多的一方添加一列,作为外键约束 ,引用少的一方的主键
  • 如果主表中的主键被应用,则该条数据无法被删除
  • 如果从表中的外键找不到相同值的主键,则无法被插入
# 创建分类表
CREATE TABLE category1
(
    cid   VARCHAR(32) PRIMARY KEY,
    cname VARCHAR(100)#分类名称
);

# 商品表
# 外键约束的添加格式
# 在创建时在最下方添加外键约束:constraint(约束) foreign key(外键字段) reference(参考) 主表(主键)
CREATE TABLE products
(
    pid         VARCHAR(32) PRIMARY KEY,
    name        VARCHAR(40),
    price         DOUBLE,
    category_id VARCHAR(32),
    CONSTRAINT FOREIGN KEY (category_id) REFERENCES category1 (cid) # 添加约束
);

二.注意事项

  • 从表中添加的外键的值,一定要在主表中的id里存在,否则就会报错
  • 如果想要添加从表数据,先添加主表相对应的id的内容
  • 为了保证数据的完整性,如果当前主表中的数据已经被从表引用,则主表中的该数据无法被删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值