MySQL中利用外键约束创建更健壮的数据库(mysql 创建外键约束)

  MySQL中,外键约束可以用来解决表之间的关联性、实现完整性,使数据库更加健壮,实现数据一致性。比如我们建立了students表和teacher表,学生对应的老师有多个,如果直接将老师的ID字段放入学生表,就会出现的完整性问题,老师的ID可能不存在于teacher表中,这时候如果利用外键约束,就能保证students表中的数据与teacher表中的ID字段刚好匹配。

  MySQL 中利用外需约束来解决数据库的健壮性,有以下几种实现方法:

(1)创建外键

在student表中创建外键
alter table students
add constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId)

(2)使用ON DELETE和ON UPDATE子句

在student表中创建外键
alter table students
add constraint fk_Teacher foreign key (TeacherId)
references Teacher (TeacherId)
on delete cascade
on update cascade

(3)设置外键的现象

在student表中创建外键
alter table students
add constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId)
on delete set null
on update cascade

(4)设置对父表的各个字段的外键

在student表中创建外键
alter table students
add constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId, tel)
on delete cascade
on update cascade

  一般而言,MySQL中可以使用外键有多种方式,固可以根据实际情况灵活运用,以创建更加健壮的数据库。外键约束能够有效地保证父表的完整性和子表的存在,使事务的数据一致性得到很高的保障,也是用来解决多问题和提高数据库系统性能的重要手段之一。


数据运维技术 » MySQL中利用外键约束创建更健壮的数据库(mysql 创建外键约束)