题解 | #在audit表上创建外键约束,其emp_no对应employees_test表主键id#

在audit表上创建外键约束,其emp_no对应employees_test表的主键id

https://www.nowcoder.com/practice/aeaa116185f24f209ca4fa40e226de48

根据题目要求,我们需要在 audit 表上创建一个外键约束,使其 EMP_no 列引用 employees_test 表的主键 ID

知识点

1. 外键约束(Foreign Key Constraint)

  • 外键约束用于在两个表之间建立关联关系,确保数据的完整性。
  • 外键列的值必须是被引用表中主键列的值,或者为 NULL(如果允许)。

2. 级联操作(ON DELETE CASCADEON UPDATE CASCADE

  • ON DELETE CASCADE:当被引用表中的记录被删除时,引用表中对应的记录也会被删除。
  • ON UPDATE CASCADE:当被引用表中的主键值被更新时,引用表中对应的外键值也会被更新。

3. 注意事项

  • 外键约束的列数据类型和大小必须与被引用的主键列一致。
  • 在某些数据库中(如 MySQL 的 InnoDB 存储引擎),外键约束需要显式指定存储引擎支持。
  • 如果表中已有数据,添加外键约束时需要确保数据符合外键关系,否则会报错。

解决方案

-- 在 audit 表上创建外键约束
ALTER TABLE audit
ADD CONSTRAINT fk_audit_emp_no
FOREIGN KEY (EMP_no)
REFERENCES employees_test (ID)
ON DELETE CASCADE
ON UPDATE CASCADE;

代码说明

  1. ALTER TABLE 表名

    • 用于修改表结构。
  2. ADD CONSTRAINT

    • 用于添加约束,此处添加的是外键约束。
  3. 外键名称

    • fk_audit_emp_no 是外键约束的名称,可以根据需要自定义。
  4. FOREIGN KEY (EMP_no)

    • 指定 audit 表中的 EMP_no 列作为外键。
  5. REFERENCES employees_test (ID)

    • 指定外键引用的表和列,即 employees_test 表的 ID 列。
  6. ON DELETE CASCADE

    • employees_test 表中的记录被删除时,audit 表中对应的记录也会被级联删除。
  7. ON UPDATE CASCADE

    • employees_test 表中的 ID 值被更新时,audit 表中对应的 EMP_no 值也会被级联更新。
全部评论

相关推荐

点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
码农索隆:你告诉他,你看他也一般
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务