MySQL外键约束说明
stevezhou 2015.05.18
今天在删减(注意不是删除)表时,被提示
解决方法:
mysql > SET foreign_key_checks=0;
mysql > truncate 表名;
mysql > SET foreign_key_checks=1;
下面简单了解下关于外键的约束关系:
为空&RESTRICT&NO ACTION
删除:从表记录不存在时,主表记录才可以删除。删除从表,主表不变。
更新:从表记录不存在时,主表记录才可以更新。更新从表,主表不变。
CASCADE
删除:删除主表时自动删除从表。删除从表,主表不变。
更新:更新主表时自动更新从表。更新从表,主表不变。
SET NULL
删除:删除主表时自动更新从表值为NULL。删除从表,主表不变。
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变。
补充主从表概念:
主表—在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。
从表—以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。