一、外键
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;