mysql foreign key(外键)

一、外键

foreign key约定表与表之间某种特殊关系,关系确保表与表数据完整性。

如:有两表,用户表、用户订单表。如果删除用户表中某一用户,那么用户订单表的该用户订单数据就成为无头数据。不完整了。

利用foreign key,删除用户同时删除订单表中用户数据,保证数据完整性。

二、使用foreign key 遵守原则

1、有外约束表必须是innodb类型

2、二表要有索引关系,没有创建外键可以创建。

3、不支持对外键索引前缀。

4、表外键名字在数据库表中必须唯一。

三、创建

create table user(

user_id int(10) not null auto_increment,

...

primary key (user_id)

)engine=innodb default charset=utf-8 auto_increment=3;

create table order(

order_id int(10) not null auto_increment,

user_id int(10) not null

..,

primary key(order_id),

foreign key order_f_key(order_id) references user_id

)engine=innodb default charset=utf-8 auto_increment=1;

posted @ 2012-11-23 16:17  ljw7pm  阅读(155)  评论(0)    收藏  举报