首先,如何定义一个外键。
需要两个表,一个主表,一个从表。
student表(从表)
grade表(主表)
从表中有一个属性对应的是主表中的主键或者其他唯一的键。在这个例子中国student表的gid就是对应于grade表中的id的。
那么开始关联外键
alter table 表名 add constraint FK_ID foreign key (外键名) REFERENCES 外表表名 (主键名字)
alter table student add constraint FK_ID foreign key (gid) REFERENCES grade (id)
关联完成之后,在从表的外键行,Key列就会有MUL的属性显示。证明关联成功。
如果不放心还可以利用
show create table student
来查看表的详细信息。
注意,这个时候可以有附加项。
在关联外键的语句后面加入添加ON DELETE 或者ON UPDATE语句,来控制当主表中的数据被删除或者被修改的时候,从表中对应的数据应该如何操作。其具体操作如下:
ON UPDATE {CASCADE|SET NULL|NO ACTION|RESTRICT}
ON DELETE {CASCADE|SET NULL|NO ACTION|RESTRICT}
CASCADE update/delete 的时候同时对从表进行update或者delete的操作
SET NULL 表示主表update/delete 的时候同时对从表匹配的记录设置为null,但是注意子表的外键不能为not null
no action 不进行任何操作
restrict 表示拒绝主表删除或者修改外键关联列,(在不定义on delete 和on update的时候这是默认设置,也是最安全的设置)
删除外键
alter table student drop foreign key FK_ID
此处的FK_ID为上文中定义的外键的名字
参考资料:https://blog.csdn.net/qq_33764491/article/details/77387956
参考资料:《MySQL数据库入门》