MySQL安全管理外键约束

MySQL安全管理之外键约束
1)外键
2)外键约束
3)外键管理
1、什么是外键
外键:foreign,表中指向外部表准建的字段定义成外键,外键必须要通过语法指定才能称之为外键
外键的基本语法:[constraint 外键名] foreign key(当前表字段名) references 外部表(主键字段)
外键构成条件
外键字段必须与对应表的主键字段类型一致
外键字段本身要求是一个索引(创建外键会自动生产一个索引)
外键名可以不指定,系统会自动生成
2、外键约束
外键约束:当表建立外键关系后,外键就会对主表(外键指向的表)和子表(外键所在的表)里的数据产生约束效果
外键的约束的是写操作
新增:子表插入的数据对应的外键必须在主表存在
修改:主表的记录如果在子表存在,那么主表的主键不能修改(主键不能修改)
删除:主表的记录如果在子表存在,那么主表的主键不能删除
外键约束控制:外键可以在定义时控制外键的约束作用
外键控制类型
on update:父表更新时子表的表现
on delete:父表删除时子表的表现
外键控制方式
cascade:级联操作,父表操作后子表跟随操作
set null:置空操作,父表操作后,子表关联的外键字段置空
restrict:严格模式,不允许父表操作(默认的)
no action:子表不管

注意:外键约束对子表和父表都有约束

3、外键管理
外键管理:在表创建后期维护外键
新增外键语法
alter table 表名 add [constraint `外键名`] foreign key(外键字段) references 表名(主键) [on 外键约束]
删除外键语法
alter table 表名 drop foreign key 外键名

原文地址:http://www.cnblogs.com/lil4257/p/16913230.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性