使用Mysql触发器删除行 [英] Delete row with a Mysql Trigger

查看:188
本文介绍了使用Mysql触发器删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在插入名为jos_jquarks_quizzes的表后,需要触发,我需要创建一个课程名称,该名称将与测验名称相同,但具有自己的ID

need to do trigger after Inserting on a table called jos_jquarks_quizzes, I need to create a course name which will have the same name as the quizz name , but its own id,

表格

jos_jquarks_quizzes 

id     title     description     course_id 

jos_jquarks_users_training   
id     quiz_id     user_id     agree 

到目前为止,我的触发器看起来像这样,但是有错误

So far My Trigger looks like this but has an error

-- Trigger DDL Statements
DELIMITER $$

USE `db_dhruniversity`$$

CREATE
TRIGGER `db_dhruniversity`.`ai_delete_course`
AFTER DELETE ON `jos_jquarks_quizzes`
FOR EACH ROW
BEGIN    
DELETE FROM jos_jquarks_courses
WHERE (quiz_id = new.id); 
END$$

推荐答案

在您的where子句中,将new.id更改为old.id

In your where clause change new.id to old.id

-- Trigger DDL Statements
DELIMITER $$

USE `db_dhruniversity`$$

CREATE
TRIGGER `db_dhruniversity`.`ai_delete_course`
AFTER DELETE ON `jos_jquarks_quizzes`
FOR EACH ROW
BEGIN    
DELETE FROM jos_jquarks_courses
WHERE (quiz_id = old.id); 
END$$

这篇关于使用Mysql触发器删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆