外键的使用条件:
1,两张表必须是innoDB存储引擎的表
2,mysql 4.1.2版本之前的外键列需要建立索引
3,外键关系的两个表的列必须数据类型相似
int tinyint 但是int varchar就不行
外键的定义语法
create table tem(id int, name char(20), foreign key(id) references outTable(id) on delete cascade on update cascade);
指定外键字段 foreign key(列名)
参考外表 references <外键表名>(外键列名)
事件触发限制 on delete 和 on update ,可设参数cascade(跟随外表中的外键改动),restrict(限制外表中的外键改动) NO ACTION(默认的,无动作)
(1)使用外键将两个表关联
在当前表创建外键字段------和外部表的某个字段可关联:foreign key(foreign_id) references dage(id)
关联起来之后监听着外部那个表,如果他删除了,我要做什么?如果他更新了,我又要做什么
on delete (参数3个) on update (参数3个)
删除外键:
alter table 表名 drop foreign key 外键名称