mysql中外键的应用条件:
1、只有InnoDB可以使用外键,
2、在引用表中,必须有一个索引
使用语法:在创建表时写入
foreign key (外键名) reference 关联的表名 (关联的字段) action(内容如下);
InnoDB拒绝任何试着在子表创建一个外键值而不匹配在父表中的候选键值的INSERT或UPDATE操作。一个父表有一些匹配的行的子表,InnoDB对任何试图更新或删除该父表中候选键值的UPDATE或DELETE操作有所动作,这个动作取决于用FOREIGN KEY子句的ON UPDATE和ON DETETE子句指定的referential action。当用户试图从一个父表删除或更新一行之时,且在子表中有一个或多个匹配的行,InnoDB根据要采取的动作有五种选择:(现仅列出常见的三种选择 )
1、cascade: 在删除或更新主表行时自动更改或删除子表匹配的行. on update cascade.
2、setnull:在删除或更新主表行时,设置子表的外键为null,在外键可以为空的情况下。on delete set null
3、restrict:拒绝对父表的删除或更新。