用用户表和用户信息表进行演示
用户表不用进行任何的操作,创建符合自己的表就行
下面创建制约表
mysql> create table bowen(
-> u_id int(11) not null ,
-> u_sex int(11),
-> u_text varchar(90),
-> foreign key (user_id
) references user(id)
-> )engine innoDB , charset utf8;
注意foreign key (usre_id
) references user(id) 这一行,是制约的方法
user_id=> 此用户信息表的主键(一般情况也可以是主键)
user => 制约表(这里填用户表)
id => 用户表的字段
user表:
博文表:
我理解的外键:
设表user,bowen中都有一个user_id字段,而且是user的主键
那么如果设t2中的user_id为外键的话
向t2中添加数据的时候,如果user_id值不在t1之中就会报错
最后说一下,建键几个原则:
1、 为关联字段创建外键。
2、 所有的键都必须唯一。
3、避免使用复合键。
4、外键总是关联唯一的键字段。