它指出:
FOREIGN KEY 约束用于防止会破坏表之间链接的操作。有人可以举一个外键会阻止的动作的例子吗?
谢谢。
假设我们有两张表Employees和Departments。每个部门都有一个唯一的编号,对于每个员工,我们都会列出他或她所在部门的编号。我们也将其声明为外键。
在这种情况下,外键会阻止一些操作:
所有这些都是为了确保当数据库说某个员工在某个部门工作时,该部门将实际存在于数据库中。
表 Employee 的主键设置为 empid。
Table Employee 中的表地址引用(外键约束)empid
如果您尝试从 Table Employee 中删除员工“1011”,并且该员工在 Table Address 中有一条记录,则由于依赖关系,删除将不会通过。除非您设置了级联删除..
表用户
ID UserName
1 msmucker0527
2 Jake
表格电子邮件(外键:UserID = Users.ID)
UserID Email
1 msmucker0527@email.net
2 jake@email.net
您不能使用用户表中不存在的用户 ID 将记录添加到电子邮件表。这样,您就没有未“链接”到用户的电子邮件地址。您也将被阻止在不先删除电子邮件地址的情况下删除用户,以免它陷入困境