当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MYSQL教程:MYSQL外键的应用

MYSQL
经验分享:MySQL 中如何复位根用户密码
MYSQL基础知识 MYSQL数据库基础命令
连接 MySQL 数据库失败频繁的原因探秘
如何在MySQL中获得更好的全文搜索结果
滚开!别动我的数据库 MYSQL数据安全
MYSQL字符集:编程乱码问题的初步探索
一种不错的从SQL转Mysql数据库的方法
怎样在没管理权时修改MySQL的用户密码
把我的密码还给我 MySQL中的密码恢复
安全第一:使用MySQL要注意的23个事项
不许你无视我 解决MySQL忽略用户现象
轻轻松松解决MySQL中文件未找到的问题
如何解决Mysql无法创建文件/写入文件
爱写就写 Mysql避免表已满的错误出现
看的明明白白 表已满错误出现方式有数种
MySQL数据库中root权限丢失解决方法
MYSQL用户管理员ROOT弱密码攻击战
Win2K下配置asp+cgi+php+mysql
大家来优化 Sysctl、Apache、MySQL
PHP 和 MySQL 开发中要注意的8个技巧

MYSQL教程:MYSQL外键的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 124 ::
收藏到网摘: n/a

外键的作用:

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!
例如:
a b 两个表
a表中存有 客户号,客户名称
b表中存有 每个客户的订单
有了外键后
你只能在确信b 表中没有客户x的订单后,才可以在a表中删除客户x

建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。

指定主键关键字: 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列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。