周总结

这周什么都没有学,在刷题。 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个例子,假设我们有一个学生表叫做`students`,包含`id`、`name`、`email`和`phone`字段,我们还有一个选题表叫做`topics`,包含`id`、`title`和`student_id`字段,其中`student_id`是外键,参照`students`表中的`id`字段。同时,我们还有一个总结表叫做`summaries`,包含`id`、`content`和`student_id`字段,其中`student_id`也是外键,参照`students`表中的`id`字段。我们需要在删除学生信息时,同时删除他在选题表和总结表中的信息。这可以用MySQL的触发器来实现。 首先,我们需要创建一个触发器,当从`students`表中删除一行时,该触发器将删除对应的`topics`表和`summaries`表中的所有行。 ``` DELIMITER // CREATE TRIGGER delete_student_info AFTER DELETE ON students FOR EACH ROW BEGIN DELETE FROM topics WHERE student_id = OLD.id; DELETE FROM summaries WHERE student_id = OLD.id; END// DELIMITER ; ``` 注意,`OLD.id`是指被删除的行的`id`值。 然后,我们可以测试一下这个触发器。假设我们要删除`students`表中`id`为1的学生信息,我们可以执行以下语句: ``` DELETE FROM students WHERE id = 1; ``` 这将会自动删除`topics`表和`summaries`表中`student_id`为1的所有行。 需要注意的是,这个触发器只能在`students`表中删除行时才会触发,如果我们在`topics`表或`summaries`表中删除行,则不会触发这个触发器。如果需要在这两个表中删除行时也触发该触发器,可以将触发器的定义中的`students`改为`topics`或`summaries`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值