MySQL中利用外键约束创建更健壮的数据库(mysql 创建外键约束)
MySQL中,外键约束可以用来解决表之间的关联性、实现完整性,使数据库更加健壮,实现数据一致性。比如我们建立了students表和teacher表,学生对应的老师有多个,如果直接将老师的ID字段放入学生表,就会出现的完整性问题,老师的ID可能不存在于teacher表中,这时候如果利用外键约束,就能保证students表中的数据与teacher表中的ID字段刚好匹配。
MySQL 中利用外需约束来解决数据库的健壮性,有以下几种实现方法:
(1)创建外键
在student表中创建外键
alter table studentsadd constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId)
(2)使用ON DELETE和ON UPDATE子句
在student表中创建外键
alter table studentsadd constraint fk_Teacher foreign key (TeacherId)
references Teacher (TeacherId)on delete cascade
on update cascade
(3)设置外键的现象
在student表中创建外键
alter table studentsadd constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId)on delete set null
on update cascade
(4)设置对父表的各个字段的外键
在student表中创建外键
alter table studentsadd constraint fk_Teacher foreign key (TeacherId)
references Teacher(TeacherId, tel)on delete cascade
on update cascade
一般而言,MySQL中可以使用外键有多种方式,固可以根据实际情况灵活运用,以创建更加健壮的数据库。外键约束能够有效地保证父表的完整性和子表的存在,使事务的数据一致性得到很高的保障,也是用来解决多问题和提高数据库系统性能的重要手段之一。