mysql怎么设主键和外键_MySQL主键外键设定方法

数据库 mysql 建立外键的前提:本表的列必须与外键类型相同(外键

必须是外表主键)。

外键作用: 使两张表形成关联,外键只能引用外表中的列的值!

指定主键关键字: foreign key(列名)

引用外键关键字: references (外键列名)

事件触发限制: on delete 和on update , 可设参数cascade(跟随外键改

动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设

默认值),[默认]no action

例如:

outTable 表主键 id 类型int

创建含有外键的表:

create table temp(

id int,

name char(20),

foreign key(id) references outTable(id) on delete cascade on update

cascade);

说明:把id 列设为外键参照外表 outTable 的id 列当外键的值删除

本表中对应的列删除当外键的值改变本表中对应的列值改变。

自己实践 才能完全了解外键的作用关键是:事件触发限制的作用

restrict 在没有删除引用id 的时候不允许删除背引用id

no action 在没有删除引用id 的时候不允许删除背引用id

cascade 级联删除

set null 在删除被引用id 的时候会把引用id 置为空

有时没有外键设置选项是怎么回事呢?是因为storage engine 的原因,

设置为ENGINE= Inno

你可能感兴趣的:(mysql怎么设主键和外键)