aguo718 2017-09-04 02:53 采纳率: 61.9%
浏览 3866
已采纳

在mysql5.7中实现级联删除,即删除主表中信息的同时删除参照表中对应记录,求大神指导

参照表中设置了级联删除和级联更新但是没有实现。。
上网搜索后用触发器如下

 CREATE TRIGGER deleUser_trigger
BEFORE DELETE ON users FOR EACH ROW 
BEGIN
 DELETE FROM stuinfo WHERE stu_id=old.id;
END;

然后。。。报错

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

mysql版本5.7
不知道该怎么解决,新手求指导
(另外这一过程也可以在java中实现,但觉得在数据库中实现更好些,所以想在问一下,这两种实现方式有哪些区别吗,是减少java中代码量吗)

  • 写回答

4条回答 默认 最新

  • 易燃易炸佛系少女 2017-09-04 03:46
    关注

    可以设置外键约束吧

    图片说明

    1. CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。
    2. SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。
    3. NO ACTION: InnoDB拒绝删除或者更新父表。
    4. RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch