mysql 外键

来源:互联网 发布:解决80端口被占用 编辑:程序博客网 时间:2024/06/08 09:06

用用户表和用户信息表进行演示

用户表不用进行任何的操作,创建符合自己的表就行

下面创建制约表

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、外键总是关联唯一的键字段。

原创粉丝点击