Mysql 外键
Mysql 外键
如果说 mysql 中的 left/right/out join
查询 软链接 关系, 只是通过看似有关系的字段把两张表聚合在一起。
那么 foreign key
就是 硬连接 , 实实在在把两张表聚合在一起。 如果数据的字段的值 不符合 所连接表, 将不允许输入 插入或修改 数据。
创建外键
准备环境
|
|
创建表的时候创建外键约束
创建 user 表的时候, 关联 user.depart_id -> depart.id
|
|
为已有的表增加外键约束
|
|
注意: alter 增加外键的时候, 外键列是
table(column)
。
删除外键
|
|
插入数据
|
|
外间数据存在, 成功插入
管理 depart 表的值
|
|
管理 user 表的值
|
|
当外键盘数据不存在时, 插入失败
提示外键关联不正确。
|
|
被关联的表删除
不能直接使用 truncate
使用 truncate
清理被关联的表的时候报错如下
|
|
truncate 使用场景: https://segmentfault.com/a/1190000022254508
可以使用 delete from
|
|
- 原文链接:https://typonotes.com/posts/2021/12/08/mysql-foreign-key/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。