MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL

 1 . cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录 

   2. set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null  

   3. No action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作  

   4. Restrict方式
同no action, 都是立即检查外键约束

   5. Set default方式
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别

转载:http://blog.sina.com.cn/s/blog_91339bff0100ymc2.html

   联合主键的作用

联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,
那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。

主键和外键的区别

 

原文地址:https://www.cnblogs.com/kaiwen1/p/6869025.html