MySQL中的外键约束

外键约束

外键约束的作用:
外键约束与主键约束不同,主键约束要求被约束的那个属性值不能有重复出现,而外键约束要求只能重复出现,不能超过这个已给定的范围。
外键约束的条件:

 1. *不在同一个表中,子表对父表的一个引用,避免了冗余*
 2. *子表约束的数据不能有其他约束,父表被引用的数据要为主键约束*
 
mysql> select * from dormitory;
+----+-------+------+
| no | name  | sex  |
+----+-------+------+
|  1 | shuai | boy  |
|  2 | se    | boy  |
|  3 | sa    | boy  |
|  4 | song  | boy  |
|  5 | zei   | boy  |
|  6 | bi    | boy  |
+----+-------+------+
6 rows in set (0.00 sec)
mysql> select * from information;
+------+-------+----------+
| no1  | birth | treasure |
+------+-------+----------+
|    1 |  2000 |  9000000 |
|    2 |  1997 |   100000 |
|    3 |  1995 |  1500000 |
|    4 |  1990 |   100000 |
|    5 |  1992 |  1000000 |
|    6 |  1989 |    90000 |
+------+-------+----------+
6 rows in set (0.00 sec)
//以上第一个表是父表,下面一个为子表
//具体代码如下
mysql> create table dormitory(
    -> no int primary key,//父表被引用的数据为主键约束
    -> name varchar(255),
    -> sex varchar(255));
Query OK, 0 rows affected (0.05 sec)
mysql> create table information(
    -> no1 int,//外键约束不能有其他约束
    -> birth year,
    -> treasure bigint,
    -> foreign key(no1) references dormitory(no));//外键约束语句
Query OK, 0 rows affected (0.05 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值