使用Navicat 打开mysql ,在mysql外键设置中,CASCADE、NO ACTION、RESTRICT、SET NULL的区别

区别说明
在这之前,先要理解父表与子表的概念。简单的来说,当两个表通过外键连在一起,这个外键在哪个表是主键,那个表就是父表,而另外一个表就是子表!!

1.CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;

2.SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;

3.RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;

4.NO ACTION:同 RESTRICT,也是首先先检查外键;

下面附上update和delete的mysql语句

1、更新记录语法:

UPDATE 表名

SET 属性名1=取值1, 属性名2=取值2,

…,

属性名n=取值n

WHERE 条件表达式;

2、删除记录语法:

DELETE FROM 表名 [ WHERE 条件表达式 ] ;

你可能感兴趣的:(使用Navicat 打开mysql ,在mysql外键设置中,CASCADE、NO ACTION、RESTRICT、SET NULL的区别)