关于MySQL 外键索引

1、什么时候需要用到外键索引呢?

答:A表中存在唯一索引id_a,B表中的字段包含id_a,由于B表自身已经有主键索引,此时如果将字段id_a设置为外键索引索引(foreign key),则建立外键索引。

使用场景:

1)父表更新时,子表也更新;父表删除时,如果

2)子表有匹配的项,则删除失败。

(3)父表更新时,子表也更新;父表删除时子表匹配的项也删除。

即:使用外键可以使得修改或者删除的级联操作的日常维护工作更加轻松。

 

2、创建语法

[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name(index_col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option]

reference_option:

RESTRICT | CASCADE | SET NULL | NO ACTION

(外键值最直接的作用)如果子表试图创建一个父表不存在的外键值,InnoDB会拒绝任何INSERT或者UPDATE操作。

如果父表试图UPDATE或者DELETE任何子表中存在或匹配的外键值,最终动作取决于外键约束定义中

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值