Chinaunix首页 | 论坛 | 博客
  • 博客访问: 250694
  • 博文数量: 93
  • 博客积分: 3001
  • 博客等级: 中校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-11 13:20
文章分类

全部博文(93)

文章存档

2011年(1)

2009年(92)

我的朋友

分类: Mysql/postgreSQL

2009-07-11 14:23:14

1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束

2)外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;

3)外键的作用:

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!

4)建立外键的前提:

两个表必须是InnoDB表类型。

使用在外键关系的域必须为索引型(Index)

使用在外键关系的域必须与数据类型相似

5)创建的步骤

指定主键关键字: foreign key(列名)

引用外键关键字: references <外键表名>(外键列名)

6)事件触发限制: on deleteon update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action

7)举例

outTable 主键 id 类型 int

创建含有外键的表:
create table temp(
id int,
name char(20),
foreign key(id) references outTable(id) on delete cascade on update cascade);

说明:把id 设为外键 参照外表outTableid 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。

create table temp( id int, name char(20), foreign key(id) references outTable(id) on delete cascade on update cascade);

 

阅读(441) | 评论(0) | 转发(0) |
0

上一篇:安装lua

下一篇:应用举例

给主人留下些什么吧!~~